Oracle学习之SQL语句执行顺序
2016-01-03 22:00
399 查看
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住)、干净、未使用、脏(需要写,写后缓存数据与数据库数据一致,则缓存变为干净的),使用缓存顺序:未使用->干净->脏
客户端输入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 11创建数据表并且给用户授予权限
- ORACLE AWR
- Oracle学习之Oracle体系
- sudo 扩展学习
- 在CentOS 6.6 64bit上安装Oracle VirtualBox 5.0.12
- oracle 执行计划
- Snail—ORACLE基础之事务学习(五)
- 修改oracle实例名(sid)和数据库名(db_name)
- 关于触发器修改自身数据表实例
- Oracle 忘记密码,密码修改
- 【转】oracle 创建create user 详解
- Oracle中RAISE异常深入分析
- 【转】oracle异常错误处理
- Oracle Database 11G R2 标准版 企业版 下载地址(转)
- oracle 插入timestamp
- Oracle事务隔离级别
- oracle 游标实例
- Oracle笔记
- Oracle创建新用户以及导入数据表dmp文件
- oracle 打开trace,并分析trace