Oracle 优化器:CBO 和 RBO
2012-03-28 09:38
751 查看
Oracle 的优化器有两种:
RBO(Rule-BasedOptimization): 基于规则的优化器
CBO(Cost-BasedOptimization): 基于代价的优化器
CBO(Cost Based Optimizer)的思路是让Oracle 获取所有执行计划相关的信息,通过对这些信息做计算分析,最后得出一个代价最小的执行计划作为最终的执行计划。
从10g开始,Oracle 已经彻底丢弃了RBO。 即使在表,索引没有被分析的时候,Oracle依然会使用CBO。此时,Oracle 会使用一种叫做动态采样的技术,在分析SQL的时候,动态的收集表,索引上的一些数据块,使用这些数据块的信息及字典表中关于这些对象的信息来计算出执行计划的代价,从而挑出最优的执行计划。
当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息,这个动作只有在SQL执行的第一次,即硬分析阶段使用,后续的软分析将不在使用动态采样,直接使用第一次SQL硬分析时生成的执行计划。
RBO(Rule-BasedOptimization): 基于规则的优化器
CBO(Cost-BasedOptimization): 基于代价的优化器
CBO(Cost Based Optimizer)的思路是让Oracle 获取所有执行计划相关的信息,通过对这些信息做计算分析,最后得出一个代价最小的执行计划作为最终的执行计划。
从10g开始,Oracle 已经彻底丢弃了RBO。 即使在表,索引没有被分析的时候,Oracle依然会使用CBO。此时,Oracle 会使用一种叫做动态采样的技术,在分析SQL的时候,动态的收集表,索引上的一些数据块,使用这些数据块的信息及字典表中关于这些对象的信息来计算出执行计划的代价,从而挑出最优的执行计划。
当表没有做分析的时候,Oracle 会使用动态采样来收集统计信息,这个动作只有在SQL执行的第一次,即硬分析阶段使用,后续的软分析将不在使用动态采样,直接使用第一次SQL硬分析时生成的执行计划。
相关文章推荐
- ORACLE优化器RBO与CBO介绍总结
- oracle的优化――RBO和CBO简介以及optimizer_mode参数说明
- Oracle的优化器-8i->9i->10g的变迁(RBO->CBO)...
- [转]ORACLE优化器RBO与CBO的区别
- Oracle的RBO和CBO详细介绍和优化模式设置方法
- 【DB.Oracle】Oracle 优化器 (RBO, CBO)
- Oracle 优化器(RBO,CBO)
- Oracle的优化器的 RBO和CBO 方式
- Oracle的RBO和CBO优化
- ORACLE优化器RBO与CBO介绍总结
- ORACLE优化器RBO与CBO介绍总结
- ORACLE优化器RBO与CBO介绍总结
- ORACLE优化器RBO与CBO介绍总结
- Oracle优化方式之RBO&CBO
- Oracle的优化器:RBO/CBO,RULE/CHOOSE/FIRST_ROWS/ALL_ROWS
- Oracle的RBO和CBO详细介绍和优化模式设置方法
- Oracle的优化器:RBO/CBO,RULE/CHOOSE/FIRST_ROWS/ALL_ROWS 名词解释
- CBO和RBO 两种优化器比较
- Oracle的优化器的RBO和CBO方式
- Oracle Optimizer CBO RBO .