【SQL优化器】初始化参数

简介: 一些和优化器相关的初始化参数  1、OPTIMIZER_FEATURES_ENABLE  每个版本的Oracle 优化器特性都不相同,特别是做了版本升级以后一定要修改这个参数才可以使用仅被该版本支持的优化器特性。
一些和优化器相关的初始化参数 
 1、 OPTIMIZER_FEATURES_ENABLE 
 每个版本的Oracle 优化器特性都不相同,特别是做了版本升级以后一定要修改这个参数才可以使用仅被该版本支持的优化器特性。 
 可以赋予它的值如:9.2.0、9.0.2、9.0.1、8.1.7、8.1.6 等。 
 2、 CURSOR_SHARING 
 这个参数会将SQL 语句中的常量用变量来替换,存在大量常量的OLTP 系统可以考虑启用这个参数。但是有一点要明白,绑定变量虽然可以使大量的SQL 重用,减少分析时间,但是当数据分布发生变化后,CBO 为绑定变量SQL 生成的执行计划可能不是最优(不会考虑具体的变量值)。通常OLTP 系统适用于绑定变量,OLTP 系统特点是,SQL 运行频繁且时间相对较短,SQL 的分析时间比重较大。如果在DSS 系统中,SQL 运行时间长,相比之下分析时间微不足道,好的执行计划才是最重要的,因此DSS 系统绑定变量要另行考虑。 
 3、 HASH_AREA_SIZE 
 这是散列连接时散列表的存放区域,如果使用散列连接这个参数值不能过小,如果散列表不能完全存放于内存中,对散列连接性能的影响很大。如果是9i 建议启动工作区自动管理,然后设置PGA_AGGREGATE_TARGET。 
 4、 SORT_AREA_SIZE 
 内存排序区的大小,如果排序时内存区不够会写如磁盘。9i 同样建议启动工作区自动管理,然后设置PGA_AGGREGATE_TARGET。 
 5、 HASH_JOIN_ENABLED 
 如果启用这个参数,CBO 在考虑连接方法的时候将会考虑散列连接。 
6、 OPTIMIZER_INDEX_CACHING 
 这个参数表示被缓存的索引块所占百分比,可选值的范围是0-100。这个值会影响嵌套循环连接,如果这个值设得较高,CBO 将更倾向使用嵌套循环。 
 7、 OPTIMIZER_INDEX_COST_ADJ 
 优化器利用这个参数(是个百分比)把索引扫描的成本转换为等价的全表扫描的成本,然后与全表扫描的成本进行比较。缺省值100,表示索引扫描成本与全表扫描成本等价。可选值范围是0-10000。 
 8、 OPTIMIZER_MAX_PERMUTATIONS 
 这个初始参数用来设定优化器最多考虑多少种连接顺序,优化器不断的产生可能的表的连接的排列,直到排列数达到参数optimizer_max_permutations 为止。一旦优化器停止产生新的可能连接排列,它将会从中选择出成本最小的排列。 
 9、 DB_FILE_MULTIBLOCK_READ_COUNT 
 这个参数表示在全表扫描或索引快速全扫描时一次I/O 读的连续数据块数量(block#连续,且一次I/O 不能超过extent)。 
 10、 OPTIMIZER_MODE 
 优化器模式,也是优化器的优化目标。值为:RULE、CHOOSE、ALL_ROWS、FIRST_ROWS_n、FIRST_ROWS。 
 11、 PARTITION_VIEW_ENABLED 
 如果设置为TRUE, 该优化器将跳过分区视图中未被请求的分区,该参数还能更改基于成本的优化程序从基础表统计信息计算分区视图统计信息的方式。 
 12、 QUERY_REWRITE_ENABLE 
 如果设置为TRUE,优化器将利用可用的物化视图来重写SQL。 
     
目录
相关文章
|
SQL 索引 OceanBase
OBCP第四章 SQL调优-局部索引与全局索引
OBCP第四章 SQL调优-局部索引与全局索引
156 0
|
6月前
|
SQL
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
Greenplum【SQL 03】实现树结构+自定义函数+避免函数重复调用+ function cannot execute on a QE slice 问题处理(优化过程全记录)
153 0
|
Java
JVM参数调优基础-参数的类型详解(上)
JVM参数调优基础-参数的类型详解(上)
153 0
JVM参数调优基础-参数的类型详解(上)
|
存储 SQL 安全
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(下)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
143 0
|
存储 SQL 关系型数据库
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天(上)
15天学习MySQL计划-存储过程变量判断循环游标函数触发器(进阶篇)-第九天
136 0
|
机器学习/深度学习 算法
常见的超参数调优方法
常见的超参数调优方法
|
测试技术
loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
loadrunner 脚本开发-参数化之将内容保存为参数、参数数组及参数值获取
116 0
|
存储 SQL 关系型数据库
关于SQL优化,你不能只是说自己只会语句的优化了(二)
文章有点长,请各位看官按下耐心,一定看下去,虽然数据库这块的内容很枯燥,但是一定得保证自己全部都掌握,才能拿到一个很好的Offer,不是么?
关于SQL优化,你不能只是说自己只会语句的优化了(二)
|
SQL 存储 Oracle
关于SQL优化,你不能只是说自己只会语句的优化了(一)
文章有点长,请各位看官按下耐心,一定看下去,虽然数据库这块的内容很枯燥,但是一定得保证自己全部都掌握,才能拿到一个很好的Offer,不是么?
关于SQL优化,你不能只是说自己只会语句的优化了(一)
|
存储 Java
JVM参数调优基础-参数的类型详解(下)
JVM参数调优基础-参数的类型详解(下)
117 0
JVM参数调优基础-参数的类型详解(下)