温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL中CBO优化方式有哪些

发布时间:2021-11-20 11:22:40 来源:亿速云 阅读:341 作者:小新 栏目:关系型数据库

这篇文章给大家分享的是有关SQL中CBO优化方式有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

一条查询语句的处理包括语法分析、语句优化和查询执行三个阶段。在语句优化阶段,Oracle默认使用基于成本的优化器(CBOcost based optimizer)来选择最好的执行计划,这个最好的标准就是消耗的系统资源如CPU以及I/O资源最少。

基于CBO的优化器有三种优化方式来满足不同的查询需求,即all_rowsfirst_rows_nfirst_rows

all_rowsOracle的默认方式,优化目标是实现查询的最大吞吐量。

first_rows_n:优化输出查询的前n行数据,满足快速响应的查询需求。

first_rowsfirst_rows方式的老版本,尽快输出查询的前几行数据。

Oracle提供在不同级别上的优化,即实例级、会话级和语句级。查询当前数据库的CBO优化方式

show parameter optimizer_mode;

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

optimizer_mode                       string      ALL_ROWS

在实例级设置CBO优化方式

alter system set optimizer_mode = first_rows_10;

在会话级设置CBO优化方式

alter session set optimizer_mode = all_rows;

在语句级设置CBO优化方式,需要使用hint提示

select /*+first_rows_10*/ ename, sal, mgr from scott.emp;

优化器的工作过程包括根据统计数据进行SQL转换、根据资源消耗情况选择访问路径、根据统计数据选择连接方法以及确定连接次序几个步骤,最后选择一个最好的执行计划。

感谢各位的阅读!关于“SQL中CBO优化方式有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI