189 8069 5689

oracle优化器参数的值可以分为几种

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

创新互联专注于港北企业网站建设,响应式网站建设,商城开发。港北网站建设公司,为港北等地区提供建站服务。全流程定制制作,专业设计,全程项目跟踪,创新互联专业和态度为您提供的服务

优化器参数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优化器参数的值可以分为几种
网页URL:http://cdxtjz.com/article/jgdhdd.html

其他资讯