ORACLE 优化器-内容待写

来源:互联网 发布:松节油和调色油 知乎 编辑:程序博客网 时间:2024/05/21 18:47

1 什么是优化器
按照一定的判断原则来得到它认为的目标SQL在当前情形下最高效的执行路径 Access-Path。
依据选择AccessPath时所用判断原则,分为RBO、CBO2种类型。
RBO:Rule-Based-Optimizer 基于规则的优化器
CBO:Cost-Based-Optimizer 基于成本的优化器

1.1 RBO
RBO现在从ORACLE-10G开始不再被支持,但仍可以通过修改优化器模式或RULE Hint来继续使用
以下情况ORACLE不会使用RBO
1 使用了星形连接
2 使用了哈希连接
3 使用了索引快速全表扫描
4 使用了函数索引
5 使用并行查询或者并行DML
6 其他…
如何修改优化器模式呢?
alter session set optimizer_mode = ‘RULE’;

1.2 CBO
成本指ORACLE根据对象的统计信息计算出的值 . 实际上代表了估算出来的目标SQL对执行步骤的IO、CPU和网络资源(主要适用分布式目标SQL,远程读取的网络资源)的消耗量。
CBO会认为消耗IO、CPU资源最少的执行路径是当前情况下的最优选择。

1 0
原创粉丝点击