ORACLE数据库SQL优化--->优化器基础知识
来源:互联网 发布:pp助手mac版备份 编辑:程序博客网 时间:2024/05/16 12:55
一,优化器的模式
在ORACLE数据库中,优化器的模式是由参数optimizer_mode的值来决定的,optimizer_mode的值可能是RULE,CHOOSE,FIRST_ROWS_n(n=1,10,100,1000),FIRST_ROWS或ALL_ROWS。 OPTIMIZER_MODE的各个可能值的含义如下:
1,RULE
表示ORACLE将使用RBO来解析目标SQL,此时目标SQL中所涉及的各个对象的统计信息对于RBO来说是没有任何作用的。
2,CHOOSE
CHOOSE是 ORACLE 9i中OPTIMIZER_MODE的默认值,它表示ORACLE在解析目标SQL时到底是使用RBO还是CBO取决于该SQL中所涉及的表的对象是否有统计信息,如果有统计信息就用CBO,否则用RBO。
3,FIRST_ROWS_n(n=1,10,100,1000)
此时ORACLE会使用CBO来解析目标SQL,且此时CBO在计算该SQL的各条执行路径的成本值时的测重点是在于以最快的响应速度返回头n(n=1,10,100,10000)条记录。
4,FIRST_ROWS
它是在ORACLE 9i中就已经过时的参数。
5,ALL_ROWS
它是ORACLE 10g以及后续ORACLE数据库版本中OPTIMIZER_MODE的默认值,它表示ORACLE会使用CBO来解析目标SQL,且此时CBO在计算该SQL的各条执行路径成本值时侧重点在于最佳的吞吐量(即最小的系统I/O和CPU资源的消耗量)。
实际上,成本的计算方法随着优化器模式的不同而不同,主要体现在ALL_ROWS和FIRST_ROWS_n(n=1,10,100,1000)对成本值计算方法的影响上。当优化器模式为ALL_ROWS时,CBO计算成本的侧重点在于最佳的吞吐量;而当优化器模式为FIRST_ROWS_n(n=1,10,100,1000)时,CBO计算成本的侧重点会变为以最快的响应速度返回头n(n=1,10,100,1000)条记录。这意味着同样的执行步骤,在优化器为ALL_ROWS和FIRST_ROWS_n(n=1,10,100,1000)时CBO分别计算出来的成本值会存在巨大的差异,这意味着优化器模式对CBO计算成本(进而对CBO选择执行计划)有着决定性的影响!!!
- ORACLE数据库SQL优化--->优化器基础知识
- ORACLE数据库SQL优化--->Oracle里的优化器
- ORACLE数据库SQL优化--->基于成本的优化器
- oracle数据库sql优化总结
- oracle数据库sql语句优化
- SQL优化 数据库优化
- sql优化,数据库优化
- sql 优化基础知识
- 162.Oracle数据库SQL开发之 SQL优化——优化器传递提示
- Oracle数据库优化器的优化方式
- Oracle数据库优化器的优化方式
- Oracle数据库优化器的优化方式
- Oracle数据库优化器的优化方式
- ORACLE数据库优化——sql
- Oracle数据库里SQL优化方法论
- Oracle 数据库优化-分析现有的sql
- Oracle 数据库SQL语句优化方法
- oracle数据库sql的优化总结
- Eclipse常用开发插件
- linux的locale
- polysh scp ssh-copy-id
- flex builder 里面的stage问题
- VC++实现位图显示透明效果
- ORACLE数据库SQL优化--->优化器基础知识
- NYOJ 844 A+B Problem(V)
- 选中区域内指定类型的对象(SelectCrossingPolygon)
- 圈子管理模块使用说明
- 在linux下抓mysql query查询
- 软件测试之JUnit单元测试
- CentOS6.5安装注意事项
- 只读字段的写入
- Python Supervisord 进程管理工具