一些影响优化器的初始化参数

  

一些影响优化器的初始化参数

OPTIMIZER_FEATURES_ENABLE:每个版本的Oracle优化器特性都不相同,特别是做了版本升级以后一定要修改这个参数才可以使用仅被该版本支持的优化器特性。可以赋予它的值如:9.2.0、9.0.2、9.0.1、8.1.7、8.1.6等。

CURSOR_SHARING:这个参数会将SQL语句中的直接量用变量来替换,存在大批直接量的OLTP系统可以考虑启用这个参数。但是要注意,绑定变量虽然可以使大量的SQL重用,减少分析时间,但是执行计划可能会不理想。通常OLTP系统适用于绑定变量,OLTP系统特点是,SQL运行频繁且时间相对较短,SQL的分析时间比重较大。如果在DSS系统中,SQL运行时间长,相比之下分析时间微不足道,好的执行计划才是最重要的,因此DSS系统不建议使用这个参数。

HASH_AREA_SIZE:这是散列表的存放区域,如果使用散列连接这个参数值不能太小,否则对散列连接性能影响很大。如果是9i建议启动工作区自动管理,然后设置PGA_AGGREGATE_TARGET。

SORT_AREA_SIZE:内存排序区的大小,如果排序时内存区不够会写入磁盘。9i同样建议启动工作区自动管理,然后设置PGA_AGGREGATE_TARGET。

HASH_JOIN_ENABLED:只有启用这个参数,CBO在考虑连接方式的时候才会考虑散列连接。

OPTIMIZER_INDEX_CACHING:这个参数表示被缓存的索引块所占的百分比,可选值的范围是0-100。这个值会影响嵌套循环连接,如果这个值设得较高,CBO将更倾向使用嵌套循环。

OPTIMIZER_INDEX_COST_ADJ:优化器利用这个参数(是个百分比)把索引扫描的成本转换为等价的全表扫描的成本,然后与全表扫描的成本进行比较。缺省值100,表示索引扫描成本与全表扫描成本等价。可选值范围是0-10000。

OPTIMIZER_MAX_PERMUTATIONS:这个初始参数用来设定优化器最多考虑多少种连接顺序,优化器不断的产生可能的表的连接的排列,直到排列数达到参数optimizer_max_permutations为止。一旦优化器停止产生新的排列,它将会从中选择出成本最小的排列。

DB_FILE_MULTIBLOCK_READ_COUNT:这个参数表示在全表扫描或索引快速全扫描时一次I/O读的连续数据块数量(block#连续,且一次I/O不能超过extent)。

OPTIMIZER_MODE:优化器模式。值为:RULE、CHOOSE、ALL_ROWS、FIRST_ROWS_n、FIRST_ROWS。

PARTITION_VIEW_ENABLED:如果设置为TRUE, 该优化器将跳过分区视图中未被请求的分区,该参数还能更改基于成本的优化程序从基础表统计信息计算分区视图统计信息的方式。

QUERY_REWRITE_ENABLE:如果设置为TRUE,优化器将利用可用的物化视图来重写SQL。

时间: 2024-12-28 12:30:45

一些影响优化器的初始化参数的相关文章

Oracle 11g vs 12c 内存、优化器等默认参数对比

12.1.0.2  vs 11.2.0.3 优化器对比 12.1.0.2 vs 11.2.0.3  sga对比 12.1.0.2  vs 11.2.0.3 pga对比 12.1.0.2  vs 11.2.0.3 memory对比

Oracle的优化器介绍

Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO.正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CBO之前,我们有必要简单回顾一下古老的RBO优化器. 在RBO中Oracle根据可用的访问路径和访问路

优化器

--CBO主要包含以下组件:1.查询转换器(Query Transformer):查询转换器的作用就是改变查询语句的形式以产生较好的执行计划. --四种转换技术: 视图合并(View Merging).谓词推进(Predicate Pushing).非嵌套子查询(Subquery Unnesting)和物化视图的查询重写(Query Rewrite with Materialized Views) --"窥视"(Peeking):用户使用绑定变量时,查询转换器可以"偷窥&qu

PLSQL_性能优化系列04_Oracle Optimizer优化器

2014-09-25 BaoXinjian 一.摘要 1. Oracle优化器介绍 本文讲述了Oracle优化器的概念.工作原理和使用方法,兼顾了Oracle8i.9i以及最新的10g三个版本.理解本文将有助于您更好的更有效的进行SQL优化工作. 2. RBO优化器 RBO是一种基于规则的优化器,随着CBO优化器的逐步发展和完善,在最新的10g版本中Oracle已经彻底废除了RBO. 正在使用Oracle8i或9i的人们或多或少的都会碰到RBO,因此在详细介绍CBO之前,我们有必要简单回顾一下古

『PyTorch』第十一弹_torch.optim优化器

一.简化前馈网络LeNet import torch as t class LeNet(t.nn.Module): def __init__(self): super(LeNet, self).__init__() self.features = t.nn.Sequential( t.nn.Conv2d(3, 6, 5), t.nn.ReLU(), t.nn.MaxPool2d(2, 2), t.nn.Conv2d(6, 16, 5), t.nn.ReLU(), t.nn.MaxPool2d(2

Pytorch torch.optim优化器个性化使用

一.简化前馈网络LeNet 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 import torch as t class LeNet(t.nn.Module):     def __init__(self):         super(LeNet, self).__init__()         self.features = t.nn.Sequential(      

MySQL追踪优化器小试

首先看一下MySQL追踪优化器的典型用法: 打开:SET optimizer_trace="enabled=on"; 查询优化器的信息:SELECT * FROM INFORMATION_SCHEMA.OPTIMIZER_TRACE; 关闭:SET optimizer_trace="enabled=off"; 默认情况下是关闭的,要使用的时候一定要打开这个优化器. 看一下参数: enabled:打开或者关闭跟踪器 one_line:如果ON的话将会以JOSN的存储方

空表情况下,优化器不用预定索引一次现象

错误描述:表行如下,表中数据为空,进行执行分析时候,发现优化器没有按照预定那样走第二条索引,很奇怪 mysql> show create table answer_survey_info\G *************************** 1. row *************************** Table: answer_survey_info Create Table: CREATE TABLE `answer_survey_info` ( `answerId` bigi

MySQL优化器 limit影响的case

测试的用例中,因为limit的大小不同,而产生了完全不同的执行计划: 1. 测试case: create table t1 ( f1 int(11) not null, f2 int(11) not null, f3 int(11) not null, f4 tinyint(1) not null, primary key (f1), unique key (f2, f3), key (f4) ) engine=innodb; insert into t1 values (1,1,991,1),