数据库

位置:IT落伍者 >> 数据库 >> 浏览文章

Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.4


发布日期:2021年11月01日
 
Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.4

最低要求

用CBO的最低要求是设置优化器模式为FRIST_ROWS或者ALL_ROWS(或CHOOSE)并为对象生成统计资料然而这并不能保证你的系统能工作到最佳状态参照第二部分(初始化参数)涉及初始化参数的信息

不管是否设置优化器模式如果有以下情况之一CBO将会自动调用:

用到提示

用到分区表

设置并行表

为什么要移去RBO?

Oracle i第二版将是最后一个正式支持CBO的版本 Oracle推荐所有合作伙伴和客户验证使用CBO的应用程序尽管RBO在Oraclei(现在称OracleG)仍然可用但不受支持

作为每一个已发布的Oracle笔记中RBO的存在妨碍了Oralce对查询处理引擎的关键增强它的移除将允许Oracle提高数据库引擎查询处理组件的性能和可靠性

目前Oracle 对RBO的支持仅仅用以有限的错误修正并且Oracle对RBO没有添加新的功能

为什么移至CBO?

CBO主要获益如下

以后Oracle停止RBO环境的开发

随后的Oracle数据库将移除RBO

同CBO相比RBO的访问方法是有限数量的

所有新功能基于CBO这些大多数新功能对于设置等等是重要的簇索引表位图索引基于函数的索引反向索引哈希连接物化视图索引表和并行查询 星型连接等

媒介链接支持

一旦RBO不受支持Oracle支持也不可用

CBO已经成熟

先前OracleRBO在某些场景胜过CBO甚至CBO并不是如想像中完好并且经常选择糟糕的执行计划以后的发行版本中CBO功能获得了提升现在对于新功能它提供了对考虑收益的较好交互性

分布式和远程查询更加可靠

在RBO中数据库链接从本地到远程数据库多于一个表的查询调整相当困难同样的工作CBO胜过了RBO本地优化器知道远程表的目前统计信息并且对于执行计划能做出更好的决定RBO可能考虑远程数据库的索引但是CBO有权利统计远程数据库索引的信息并对查询计划做出决定

上一篇:oracle三大技术应用大会合为一体

下一篇:实现Oracle数据库复制