您好,登录后才能下订单哦!
本篇内容介绍了“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优化器参数的值可以分为几种”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。