不要仅仅因为将optimizer_mode参数设置为rule而认为所有语句都将使用基于规则的优化器。无论optimizer_mode参数如何设置,只要满足以下三个条件,就一定会使用CBO:1)如果使用索引优化表(IOTs),则自动使用CBO。2)从Oracle 7.3版本开始,如果表的并行度选项设为大于1,则自动使用CBO,而不考虑是否使用rule hints。3)除了rule之外的任何hints都将导致自动使用CBO来执行语句。