oracle优化器参数的值可以分为几种-创新互联

本篇内容介绍了“oracle优化器参数的值可以分为几种”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

创新互联建站公司2013年成立,先为怀远等服务建站,怀远等地企业,进行企业商务咨询服务。为怀远企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

优化器参数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资源的消耗量)

“oracle优化器参数的值可以分为几种”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注创新互联-成都网站建设公司网站,小编将为大家输出更多高质量的实用文章!


文章名称:oracle优化器参数的值可以分为几种-创新互联
当前路径:http://scyanting.com/article/cdgiid.html