oracle的执行计划(一)

 原作者:不详 好像是出自metalink

 

第一次翻译,如有不当,欢迎大家指出。谢谢。

 

目录

什么是执行计划?

术语解释

oracle如何访问数据?

执行计划的层次

各种访问方法的内部过程

连接类型

执行计划中的“Operations”

远程查询

变量绑定

并行查询

如何获得执行计划

 

 

什么是执行计划?

 

一个执行计划是oracle中执行一个查询的时候oracle的执行路径(即oralce内部对一个sql语句解析分解,确定一个访问数据的方式和顺序)。

 

这个过程被分解成7步:

 

[1]语法检查     检查sql语句的正确性。

[2]语义检查     检查语句中对象的存在性

[3]合并视图     如果查询中含有视图,把视图合并到整体查询中(不单独产生执行计划)

[4]语句转换     把sql语句中复杂的结构转换为一个简单的结构(如子查询合并)

[5]优化             为语句决定一个最佳的执行路径,基于规则的优化(RBO)将根据语句给出的HITS列表决定执行路径,

基于成本的优化(CBO)通过访问对象的成本的大小来决定执行路径

[6]计划生成     生成执行计划

[7]计划执行     执行语句

 

1~6步为分析过程,7是执行过程

 

当执行计划产生以后,会同语句本身一起通过一种哈希算法被存到缓存中,如果没有重新生成执行计划,下次执行同一个语句的时候,会直接从缓存中读取执行计划。

 

 

术语解释

 

待续……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值