诚信为本:市场永远在变,诚信永远不变。
咨询热线:0898-08980898

咨询热线

0898-08980898
手机:13988888888
电话:0898-08980898
地址:海南省海口市
邮箱:admin@youweb.com

耀世资讯

当前位置: 首页 > 耀世资讯

优化器模式optimizer

发布时间:2024-03-11 12:18:10点击量:

optimizer_mode

oracle

optimizer_mode

参数说明:

Syntax

OPTIMIZER_MODE =

{ first_rows_[1 | 10 | 100 | 1000] | first_rows | all_rows }

Default value

all_rows         

     

oracle

中,

sql

语句优化分成

RBO

Rule-Based Optimization

)基于规则的优化和

CBO

Cost-Based Optimization

)基于

代价的优化。

     

在较早的

oracle

的版本中,

oracle

是采取基于规则的优化,根据

oracle

指定的规则优先顺序,对于指定的表进?执?计划的

选择。?如在规则中,索引的优先级?于全表扫描,那在查询某张拥有所有的表的时候,那就?定是使?索引。

    

在后来,

oracle

发现这样的做法并不科学,

规则是死的,数据是活的

,并不是说在所有的情况下使?规则都是可?的。于是

oracle

开始推出了

基于代价的优化,收集对象的统计信息并分析得出最优的执?计划

。从

oracle9i

开始,

oracle

就强烈建议使

?

CBO

,这点从

oracle10g

oracle11g

的?档中关于优化参数

optimizer_mode

完全不提与

RBO

有关的?个选项就可以看出。

(有?说

CBO

考虑的代价主要是

cpu

和内存,这点不太赞同,在

sql

执?中,我们最需要考虑的?定是和

io

有关的部分,所以

虑的?向应该是逻辑读

。在下?的?个测试例?中可以看出

RBO

CBO

的?些区别)

 

optimizer_mode

决定了

oracle

使?

RBO

还是

CBO

,可选值如下:

Choose:

这是

RBO

CBO“

中间

的?种模式,具体是这样:

1.

当所包含的所有对象有统计信息时,那就是?

CBO

的优化?式。

2.

当所包含的部分对象有统计信息时,也使?

CBO

的?式,并且对剩下的对象的统计信息进?

猜测

3.

如果包含所有对象都没有统计信息时,使?

RBO

的?式。

这个参数在

oracle9i

中是默认值,但是从

oracle10g

版本,默认值变为

ALL_ROWS

,并且?档中完全不提到这个参数(还有另

?个参数是

RULE

)也就是说

oracle

倾向于完全不?

RBO

Hint

在之后的?章中讨论)。

RULE

oracle

采?

RBO

的?式?作。

ALL_ROWS

oracle

采取

CBO

的?式?作,并且计算代价是获取所有?数的代价,也就是如何消耗最少的资源完成整个查

询。

FISRT_ROWS_n

n

可以取值的有

1

10

100

1000

):

oracle

采取

CBO

的?式?作,计算代价是获取前

n

?的代价,也就

是如何消耗最少的资源完成前

n

?的查询。

oracle

想的很周到,如果有

top n

的需求,那?这个参数来设置是最好不过的了。

FISRT_ROWS

和上?的参数相同,只是为了向后兼容。

那我们来做个简单的实验看看?个参数有什么不同。(为了测试?便,我们使?

pl/sql developer

来调整

sql

的优化模式):

实验表,

twovaluetab 

字段

 id number

类型

运?脚本?成数据:

        declare

         cnt number := 0;

        begin

          execute immediate 'truncate table twovaluetab';

          for cnt in 0..20000 loop

              insert into twovaluetab values(1);

          end loop;

Copyright © 2012-2018 耀世娱乐-耀世平台-注册登录app下载入口 版权所有    ICP备案编号:粤ICP备88888888号

平台注册入口