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

本文介绍了Oracle数据库中的两种优化器:基于规则的优化器(RBO)和基于代价的优化器(CBO)。CBO是一种更为先进的优化器,它有两种运行模式:FIRST_ROWS(n)和ALL_ROWS,分别适用于不同的场景。

 

       优化器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行,而不管所有的结果返回时长,可能最后一条要很长时间之后才能获得。

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值