ITPub博客

首页 > 数据库 > Oracle > RBO AND CBO (二)

RBO AND CBO (二)

原创 Oracle 作者:penglele2009 时间:2011-01-06 12:42:57 0 删除 编辑

1、OPTIMIZER_MODE选项如下:

* ALL_ROWS

* FIRST_ROWS_n

* FIRST_ROWS

* CHOOSE

* RULE

1、CHOOSE

仅在9i及之前版本中被支持,10g已经废除。8i及9i中为默认值。

这个值表示SQL语句既可以使用RBO优化器也可以使用CBO优化器,而决定该SQL到底使用哪个优化器的唯一因素是,所访问的对象是否存在统计信息。

如果所访问的全部对象都存在统计信息,则使用CBO优化器优化SQL;

如果只有部分对象存在统计信息,也仍然使用CBO优化器优化SQL,优化器会为不存在统计信息对象依据一些内在信息(如分配给该对象的数据块)来生成统计信息,只是这样生成的统计信息可能不准确,而导致产生不理想的执行计划;

如果全部对象都无统计信息,则使用RBO来优化该SQL语句。

2、RULE

仅在9i及之前版本中被支持,10g已经废除。

不论是否存在统计信息,都将使用RBO优化器来优化SQL。

3、ALL_ROWS

在10g中为默认值。

不论是否存在统计信息,都使用CBO优化器,且把CBO的优化目标设定为“最小的成本”。

RBO ,CBO判断依据,就是看COST,card(rows),BYTES是否为空,为空是RBO,不为空则是CBO

[@more@]

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22934571/viewspace-1044190/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: RBO 和CBO分析
请登录后发表评论 登录
全部评论

注册时间:2009-11-26

  • 博文量
    199
  • 访问量
    677245