ITPub博客

首页 > 数据库 > Oracle > oracle优化器参数

oracle优化器参数

原创 Oracle 作者:涂程 时间:2018-06-27 17:00:04 0 删除 编辑
优化器参数optimizer_mode的值可以分为以下几种,RULE,CHOOSE,FIRST_ROWS_n(n=1,10,100,1000),first_rows,all_rows
1,rule
SQL> show parameter optimizer_mode

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                 string     RULE
表示oracle将使用RBO来解析目标SQL,此时目标SQL中涉及的各个对象的统计信息对于RBO来说,没有任何作用。
2.choose
SQL> show parameter optimizer_mode

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                 string     CHOOSE
取决于目标SQL中是否有统计值,如果没有就不会使用RBO,如果有就会使用CBO。
3,first_rows_n(n=1,10,100,1000)
SQL> show parameter optimizer_mode

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                 string     FIRST_ROWS_10
当first_rows_n中有任意一个值时,oracle会使用CBO来解析目标SQL,此时CBO在计算该SQL的各条执行路径的成本值时的侧重点在以最快的响应速度返回n(n=1,10,100,1000)条记录,当满足first_rows_n(n=1,10,100,1000)时,oracle会把所有对应的执行步骤的成本值改成一个很小的值(小于默认情况下CBO对同样执行步骤的所计算的成本值)这样oracle就没有违背CBO选取执行计划的原则(成本值最小)。
4,first_rows
SQL> show parameter optimizer_mode

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                 string     FIRST_ROWS
表示oracle在解析SQL时会联合使用CBO和RBO,这里大多数情况下还是会使用CBO。
5,all_rows
SQL> show parameter optimizer_mode

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                 string     ALL_ROWS
oracle 10g后续版本的默认值,CBO在计算SQL的各条执行路径的成本值时,侧重最佳吞吐量(最少I/O和CPU资源的消耗量)




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

上一篇: 没有了~
下一篇: redis搭建
请登录后发表评论 登录
全部评论

注册时间:2017-02-11

  • 博文量
    2
  • 访问量
    1528

最新文章