4、让ORACLE 跑的更快_优化器

 

       优化器Optimizer 是SQL分析和执行的优化工具,负责制订SQL执行计划,保证SQL执行的效率最高。

       优化器决定ORACLE以什么样的方式访问数据,是全表扫描,索引范围扫描(Index Range Scan) 还是 全索引快速扫描(Index Fast Full Scan ,Index_ffs);对于表关联查询,负责确定表之间以一种什么方式来关联,比如HASH_JOIN还是NESTED LOOPS或是MERGE JOIN。直接决定SQL的执行效率,优化器是SQL执行的核心。

       Oracle 优化器有两种,基于规则的优化器(RBO)和 基于代价的优化器CBO。

       RBO已经被启用,不过可以通过HINT方式来使用。

 

CBO是比RBO更理性的优化器。

       CBO优化器有两种可选的运行模式。

  1. FIRST_ROWS(n)
  2. ALL_ROWS

ALL_ROWS在OLAP系统中使用的比较多,目的在于用最快的速度获得SQL执行的最后一条记录,而不是前n条数据。

FIRST_ROWS(n)正好相反,ALL_ROWS强调SQL整体的执行效率,而FISRT_ROWS(n)强调以最快的速度返回前n行,而不管所有的结果返回时长,可能最后一条要很长时间之后才能获得。

 

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(Oracle)