Oracle Optimizer CBO RBO
之前整理的一篇有关 CBO 和 RBO 文章: Oracle CBO 与 RBO http://blog.csdn.net/tianlesoftware/archive/2010/07/11/5709784.aspx Oracle 数据库中优化器( Optimizer )是 SQL 分析和执行的优化工具,它负责指定 SQL 的执行计划,也就是它负责保证 SQL 执行的效率最高,比如优化器决定 Oracle 以什么样的方式来访问数据,是全表扫描( Full Table Scan ),索引范围扫描( Index Range Scan )还是全索引快速扫描( INDEX Fast Full Scan : INDEX_FFS ) ; 对于表关联查询,它负责确定表之间以一种什么方式来关联,比如 HASH_JOHN 还是 NESTED LOOPS 或者 MERGE JOIN 。 这些因素直接决定 SQL 的执行效率,所以优化器是 SQL 执行的核心,它做出的执行计划好坏,直接决定着 SQL 的执行效率。 Oracle 的优化器有两种: RBO( Rule-Based Optimization ): 基于规则的优化器 CBO( Cost-Based Optimization ): 基于代价的优化器 从 Oracle 10g 开始, RBO 已经被弃用,但是我们依然可以通过 Hint 方式来使用它