基于Oracle的SQL优化-崔华(学习笔记)

第一章 Oracle里的优化器
1.1 什么是Oracle里的优化器
      优化器(Optimizer)是Oracle数据库中内置的一个核心子系统,也可以把它理解成是Oracle数据库中的一个核心模块或者一个核心功能组件。优化器的目的是按照一定的判断原则来得到它认为的目标SQL在当前情形下最高效的执行路径(Access
   Path),其实就是说,优化器的目的就是为了得到目标SQL的执行计划。
           依据选择执行计划时所用的判断原则,Oracle数据库里的优化器又分为RBO和CBD这两种类型。RBO是Rule-Based Optimizer的缩写,直译过来就是“基于规则的优化器”;相应的,CBO是Cost-Based
   Optimizer的缩写,直译过来就是“基于成本的优化器”。
           在得到目标SQL的执行计划时,RBO所用的判断原则为一组内置的规则,这些规则是硬编码在Oracle数据库的代码中的。RBO会根据这些规则从目标SQL诸多可能的执行路径中选择一条来作为其执行计划;而CBO所用的判断原则为成本,CBO会从目标SQL诸多可能的执行路径中选择成本最小的一条来作为其执行计划,各个执行路径的成本值是根据SQL语句所涉及的表、索引、列等相关对象的统计信息出来的。

          Oracle数据库里SQL语句的执行过程可以用图来表示。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


        

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值