Oracle在执行SQL语句前会分析执行计划。优化器负责此任务,并有两种优化方法:

  • 基于规则(RBO):优化器根据预设规则分析语句,例如使用有索引的列来获取索引。

  • 基于代价(CBO):优化器评估代价(CPU和内存),并在判断是否使用此方法时参考表和索引统计信息。

Oracle建议在8及更高版本中使用CBO。Oracle10g已取消对RBO的支持。