码迷,mamicode.com
首页 > 数据库 > 详细

Oracle学习之SQL语句执行顺序

时间:2016-01-03 22:27:40      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:

1.执行顺序:

客户端输入sql语句

sql语句通过网络到达数据库实例

server porcess接收SQL语句后

  a、将sql语句解析成执行计划,然后才能执行

  b、解析:消耗很多资源:CPU、IO,如在共享池中有缓存则不需要再次解析。

  (共享池:缓存SQL语句以及SQL语句对应的执行计划)

  (buffer case:缓存dbf的数据

  取数据过程:server porcess先检查buffer case中是否有数据,如果有数据则直接将

 buffer catch中的数据返给用户(逻辑读);如果没有则进入dbf中取数据到buffer catch

 (物理读)。

  命中率:逻辑读/(逻辑读+物理读)  

  命中率低:效率低下,关心效率的话应该还查看每秒物理读的次数。

2.smon负责对数据库内部进行维护,pmon对server proces进行维护。

3.buffer cath状态:

已连接(server process在对数据进行读或写的瞬间/pin住)、干净、未使用、脏(需要写,写后缓存数据与数据库数据一致,则缓存变为干净的),使用缓存顺序:未使用->干净->脏

 

Oracle学习之SQL语句执行顺序

标签:

原文地址:http://www.cnblogs.com/wystan/p/5097294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!