DM数据库:dm.ini参数(二)查询相关参数

2.4 查询相关参数

2.4.1 USE_PLN_POOL

缺省值: 1
属性: 静态
说明: 是否重用执行计划。0:禁止执行计划的重用;1:启用执行计划的重用功能 ;2:对不包含显式参数的语句进行常量参数化优化;3:即使包
含显式参数的语句,也进行常量参数化优化

2.4.2 DYN_SQL_CAN_CACHE

缺省值: 1
属性: 动态,系统级
说明: 是否缓存动态语句的执行计划。0:不缓存;1:当 USE_PLN_POOL 不为 0 时,缓存动态语句的执行计划

2.4.3 RS_CAN_CACHE

缺省值: 0
属性: 静态
说明: 结果集缓存配置。0:禁止重用结果集;1:强制模式,此时默认缓存所有结果集,但可通过RS_CACHE_TABLES 参数和语句 HINT 进行手动设置;2:手动模式,此时默认不缓存结果集,但可通过语句 HINT 对必要的结果集进行缓存

2.4.4 RS_CACHE_TABLES

缺省值: 空串
属性: 手动
说明: 指定可以缓存结果集的基表的清单,当RS_CAN_CACHE=1 时,只有查询涉及的所有基表全部在此参数指定范围内,该查询才会缓存结果集。当参数值为空串时,此参数失效。

2.4.5 RS_CACHE_MIN_TIME

缺省值: 0
属性: 动态,系统级
说明: 结果集缓存的语句执行时间下限,只有实际执行时间不少于指定时间值的查询,其结果集才会被缓存,仅在 RS_CAN_CACHE=1 时有效。
默认值 0,表示不限制;有效值范围(0~4294967294),以 MS 为单位

2.4.6 RS_BDTA_FLAG

缺省值: 0
属性: 静态
说明: 是否以 BDTA 形式返回结果集。0:以行为单位返回结果集;2:以 BDTA 形式返回结果集

2.4.7 RS_BDTA_BUF_SIZE

缺省值: 32
属性: 静态
说明: 配置消息长度,单位为 K。有效值范围
(8~32768)

2.4.8 RESULT_SET_LIMIT

缺省值: 10000
属性: 动态,会话级
说明: 一次请求可以生成的结果集最大个数。有效值范围(1~65000)

2.4.9 RESULT_SET_FOR_QUERY

缺省值: 0
属性: 动态,会话级
说明: 是否生成非查询结果集。0:生成;1:不生成

2.4.10 SESSION_RESULT_SET_LIMIT

缺省值: 10000
属性: 动态,系统级
说明: 会话上结果集个数上限,有效值范围(100~65000)

2.4.11 BUILD_FORWARD_RS

缺省值: 0
属性: 静态
说明: 仅向前游标是否生成结果集。0:不生成;1:生成

2.4.12 MAX_OPT_N_TABLES

缺省值: 6
属性: 动态,会话级
说明: 优化器在处理连接时,一次能优化的最大表连接个数。有效值范围(3~8)

2.4.13 MAX_N_GRP_PUSH_DOWN

缺省值: 5
属性: 动态,会话级
说明: 用来控制 GROUP BY 下放优化的最大叶子表节点个数。在 PLACE_GROUP_BY_FLAG 为 2 时生效

2.4.14 CNNTB_MAX_LEVEL

缺省值: 20000
属性: 动态,会话级
说明: 层次查询的最大支持层次。有效值范围(1~100000)

2.4.15 CTE_MAXRECURSION

缺省值: 100
属性: 动态,会话级,
说明: 递归 WITH CTE 迭代层次。会话级参数,支持HINT。取值范围(1~4294967294)

2.4.16 CTE_OPT_FLAG

缺省值: 1
属性: 动态,会话级
说明: 递归 WITH CTE 优化选项,表示相关子查询是否转换为 WITH FUCNTION 优化。支持 HINT。取值 0 或 1

2.4.17 CTE_OPT_FLAG BATCH_PARAM_OPT

缺省值: 0
属性: 静态
说明: 是否启用批量参数优化,0:不启用;1:启用,默认不启用。当置为 1 时,不返回操作影响的行数

2.4.18 CLT_CONST_TO_PARAM

缺省值: 0
属性: 静态
说明: 是否进行语句的常量参数化优化,0:不进行;1:进行

2.4.19 CLT_CONST_TO_PARAMLIKE_OPT_FLAG

缺省值: 7
属性: 动态,会话级
说明: LIKE 查询的优化开关。0:不优化;1:对于LIKE 表达式首尾存在通配符的情况,优化为POSITION()函数;对于 LIKE 表达式首部存在通配符,并且条件列存在 REVERSE()函数索引时,优化为 REVERSE()函数;2:对于 COL1LIKE COL2 || '%'的情况,优化为POSITION()函数;4:对于 COL1 LIKE ‘A’||‘B%’的情况,优化为 COL1 LIKE ‘AB%’。支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.20 FILTER_PUSH_DOWN

缺省值: 0
属性: 动态,会话级
说明: 对单表条件是否下放的不同处理方式。0:表示条件不下放;1:表示层次查询中将 START WITH 条件进行下放;2:表示在新优化器下对外连接、半连接进行下放条件优化处理;4:语义分析阶段考虑单表过滤条件的选择率,超过0.5 则不下放,由后面进行代价计算选择是否下放,参数值 4 仅在参数取值包含 2 时有效,即将参数值设为 6 时有效;8:表示尝试将包含非相关子查询的布尔表达式进行下放。支持使用上述有效值的组合值,如 6 表示同时进行 2 和 4 的优化

2.4.21 USE_MCLCT

缺省值: 2
属性: 动态,会话级
说明: MPP/LPQ 下,是否替换 MGAT/LGAT 通讯操作符为MCLCT/LCLCT。0:不替换;1:MPP 下将操作符 MGAT 替换为 MCLCT;2:MPP 下将操作符 MGAT 替换为 MCLCT,或 LPQ 下将操作符 LGAT 替换为 LCLCT

2.4.22 MPP_OP_JUMP

缺省值: 1
属性: 动态,会话级
说明: MPP 系统中操作符的跳转开关,是否支持通讯操作符的跳转功能。0:不支持;1:支持

2.4.23 PHF_NTTS_OPT

缺省值: 1
属性: 动态,会话级
说明: MPP 系统中是否进行 NTTS 计划的优化,打开时可能减少计划中的 NTTS 操作符。0:不支持;1:支持

2.4.24 MPP_MOTION_SYNC

缺省值: 200
属性: 动态,会话级
说明: 通讯操作符同步时认定的邮件堆积数,堆积超过该值则要进行同步检查。取值 0-100000,0表示不进行同步检查

2.4.25 USE_FTTS

缺省值: 0
属性: 动态,会话级
说明: 执行过程中产生的临时数据的存放格式。0:用临时表空间的数据页存放;1:用临时文件存放

2.4.26 UPD_DEL_OPT

缺省值: 2
属性: 动态,会话级
说明: 删除更新计划优化方式,取值范围 0、1、2单节点计划,0:不优化 1,2:都可优化 NTTSMPP 计划,0:不优化; 1:优化删除更新计划,
不优化 NTTS;2:优化删除更新计划,同时优化 NTTS

2.4.27 ENABLE_DIST_IN_SUBQUERY_OPT

缺省值: 0
属性: 动态,系统级
说明: IN 子查询的优化方式,0:不优化;1:对 IN子查询进行去掉子查询的优化;2:IN 子查询中的等值连接转换为多个 IN;4:IN 子查询中移除与外表相同的内表支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.28 MAX_OPT_N_OR_BEXPS

缺省值: 7
属性: 动态,会话级
说明: 能参与优化的最大 OR 分支个数,超过时布尔表达式仅用于过滤使用。有效值范围(7~64)

2.4.29 USE_HAGR_FLAG

缺省值: 0
属性: 动态,会话级
说明: 当带有 DISTINCT 的集函数不能使用 SAGR 操作符时,是否使用 HAGR,0:不使用;1:使用

2.4.30 DTABLE_PULLUP_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否在语法分析阶段对派生表进行上拉优化处理,0:不优化1:优化

2.4.31 VIEW_PULLUP_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否对视图进行上拉优化,把视图转换为其原始定义,消除视图。可取值 0、1、2、4。0:不进行视图上拉优化;1:对不包含别名和同名
列的视图进行上拉优化;2:对包含别名和同名列的视图也进行上拉优化;4:强制允许带变量的查询语句进行视图上拉优化,有可能造成结果集错误;8 表示不对 LEFT JOIN 的右孩子\RIGHT JOIN 的左孩子\FULL JOIN 左右孩
子进行上拉支持使用上述有效值的组合值,如 3 表示同时进行 1 和 2 的优化

2.4.32 VIEW_PULLUP_MAX_TAB

缺省值: 7
属性: 动态,会话级
说明: 对视图进行上拉优化支持的表的个数。有效值范围:(1~16)

2.4.33 STR_NULL_OPS_COMPATIBLE

缺省值: 0
属性: 动态,会话级
说明: 当两个字符串相加时,若两个字符串中有一个为 NULL,是否将结果置为 NULL。0:否;1:是

2.4.34 GROUP_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 分组项优化参数开关。0:不优化;1:非 MYSQL兼容模式下(即 COMPATIBLE_MODE 不等于4),支持查询项不是 GROUP BY 表达式;2:外层分组项下放到内层派生表中提前分组优化;4:表示对于多级分区,并行下允许尝试不生成多个 AGR支持使用上述有效值的组合值,如 3 表示同时进行 1 和 2 的优化

2.4.35 FROM_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 控制一些涉及 FROM 项的优化 0:不优化;1:尝试将 FROM 项替换为单个 DUAL 表

2.4.36 HAGR_PARALLEL_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: MPP、并行下对 GROUP BY、分析函数等的优化开关。0:不优化;1:无 DISTINCT 时 HAGR按照分组列分发;2:有 DISTINCT 时,HAGR按照分组列分发;4:去除多余的通讯操作符;8:同 4,仅限于外连接操作;16:分析函数按照 PARTITION BY 列分发;32:MPP+LPQ 下,
AAGR 的优化处理支持使用上述有效值的组合值,如 5 表示同时
进行 1 和 4 的优化

2.4.37 HAGR_DISTINCT_OPT_FLAG

缺省值: 2
属性: 动态,会话级
说明: 0:MPP 下不对 HAGR+DISTINCT 进行优化;1:MPP 下,如果分组列是分布列,则进行生成两个 HAGR,顶层 HAGR 去掉 DISTINCT 信息的优化,否则保持原始处理方式;2:如果分组列都是字符串类型且总长度小于等于 2,则仅依靠分组列的 HASH 值判断是否为同一组支持使用上述有效值的组合值,如 3 表示同时进行 1 和 2 的优化

2.4.38 REFED_EXISTS_OPT_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否把相关 EXISTS 优化为非相关 IN 查询。0:否;1:是;2:特殊场景下,通过将相关表+DISTINCT 构造为派生表添加到子查询中,将相关 EXISTS 转换为非相关 IN

2.4.39 REFED_OPS_SUBQUERY_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否将 OP ALL/SOME/ANY 相关子查询转换为EXISTS 相关子查询。0:否;1:是

2.4.40 MAX_PHC_BE_NUM

缺省值: 512
属性: 动态,会话级
说明: 优化阶段存放临时布尔表达式的个数。有效值范围(512~ 20480000)

2.4.41 HASH_PLL_OPT_FLAG

缺省值: 0
**属性:**动态、会话级
说明: 是否裁剪 HASH SEMI/INNER 连接右边的分区表。取值 0 或 1。1 裁剪,0 不裁剪

2.4.43 PARTIAL_JOIN_EVALUATION_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否对去除重复值操作的下层连接进行转换优化。0:不优化;1:优化此参数仅在参数 OPTIMIZER_MODE 为 1 时才有效

2.4.44 USE_FK_REMOVE_TABLES_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否利用外键约束消除冗余表,支持多列主键。0:不启用;1:启用

2.4.45 USE_FJ_REMOVE_TABLE_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否启用使用过滤表消除表及自连接消除优化。0:不启用;1:启用;2:等值条件的左右两边是不同的表时才进行优化

2.4.46 SLCT_ERR_PROCESS_FLAG

缺省值: 1
属性: 动态,会话级
说明: 控制如何处理过滤时产生的错误。0:正常处理错误,返回错误码;1:忽略错误,视为数据不匹配

2.4.47 MPP_HASH_LR_RATE

缺省值: 10
属性: 动态,会话级
说明: MPP 下,对 HASH JOIN 节点,可以根据左右儿子 CARD 代价的比值,调整 HASH_JOIN 的左右儿子的 MOTION 添加,从而影响计划。如果 CARD 比值超过此值,则小数据量的一方全部收集到主EP来做 。 有 效 值 范 围(1~4294967294)

2.4.48 LPQ_HASH_LR_RATE

缺省值: 30
属性: 动态,会话级
说明: LPQ 下,对 HASH JOIN 节点,可以根据左右儿子 CARD 代价的比值,调整 HASH_JOIN 的左右儿子的 MOTION 添加,从而影响计划。如果 CARD 比值超过此值,则小数据量的一方全 部 收 集 到 主 EP 来 做 。 有 效 值 范 围(1~4294967294)
USE_HTAB
缺省值: 1
属性: 动态,会话级
说明: 表示计划中是否能使用 HTAB。0:否;1:是

2.4.49 SEL_ITEM_HTAB_FLAG

缺省值: 0
属性: 动态,会话级
说明: 当 USE_HTAB=1 时才有效。当查询项中有相关子查询时,是否做 HTAB 优化。0:不优化;1:优化

2.4.50 OR_CVT_HTAB_FLAG

缺省值: 1
属性: 动态,会话级
说明: 当 USE_HTAB=1 时才有效。当查询条件 OR 中含有公共因子时,是否允许使用 HTAB 来进行优化。0:不使用;1:使用;2:增强 OR 表达式转换为 HTAB 条件检查,当存在嵌套连接时,不生成 HTAB,以避免缓存过多数据影响性能

2.4.51 CASE_WHEN_CVT_IFUN

缺省值: 9
属性: 动态,会话级
说明: 对 CASE WHEN 查询表达式的优化处理。0:不优化;1:将 CASE WHEN 查询表达式转换为IFOPERATOR 函数;2:将 CASE WHEN 查询表达式转换为 IFOPERATOR 函数,且有限制地进行表达式重用;4:CASE WHEN 查询表达式在运算符中转换为 OR 进行处理;8:对于 CASEWHEN查询表达式不考虑THEN…ELSE表达式重用支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.52 OR_NBEXP_CVT_CASE_WHEN_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否将OR 转化为CASE WHEN THEN ELSE END语句。0:不转换;1:转换

2.4.53 NONCONST_OR_CVT_IN_LST_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否开启 IN LIST 优化:将不含有常量的 OR表达式转换成 IN LIST。0 表示不开启,1 表示开启

2.4.54 OUTER_CVT_INNER_PULL_UP_COND_FLAG

缺省值: 1
属性: 动态,会话级
说明: 当外连接转化为内连接时,是否打开连接条件。0:不打开;1:打开

2.4.55 OPT_OR_FOR_HUGE_TABLE_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否使用 HFSEK 优化 HUGE 表中列的 OR 过滤条件。0:不使用;1:使用

2.4.56 ORDER_BY_NULLS_FLAG

缺省值: 0
属性: 动态,会话级
说明: ASC 升序排序时,控制 NULL 值返回的位置。取值 0 或 1。1 表示 NULL 值在最后返回,0 表示 NULL 值在最前面返回。在参数等于 1 的情况下,NULL 值的返回与 ORACLE 保持一致。DESC 降序时该参数无效

2.4.57 SUBQ_CVT_SPL_FLAG

缺省值: 1
属性: 动态,会话级
说明: 控制相关子查询的实现方式,0:不优化;1:使用 SPL2 方式实现相关子查询;2:DBLINK相关子查询是否转换为函数,由参数
ENABLE_DBLINK_TO_INV 取值决定 4:将多列 IN 转换为 EXISTS;8:将引用列转换为变量 VAR;16:用临时函数替代查询项中的相关查询表达式
支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.58 ENABLE_RQ_TO_SPL

缺省值: 1
属性: 动态,会话级
说明: 是否将相关子查询转换为 SPL2 方式,0:不优化;1:优化
MULTI_IN_CVT_EXISTS
缺省值: 0
属性: 动态,会话级
说明: 多列 IN 是否转换为等价的 EXISTS 过滤。0: 不转换;1:转换

2.4.59 PRJT_REPLACE_NPAR

缺省值: 1
属性: 动态,会话级
说明: 是否将引用列转换为变量 VAR,并替换查询表达式中的引用列,0:不优化;1:优化

2.4.60 ENABLE_RQ_TO_INV

缺省值: 0
属性: 动态,会话级
说明: 相关查询表达式是否转换为函数方式实现。0:不转换;1:转换;2:系统根据实际情况决定是否转换

2.4.61 SUBQ_EXP_CVT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否将带有聚集函数且没有 GROUP BY 的相关查询表达式优化为非相关查询表达式。
0:使用普通的去相关性处理;
1:带有聚集函数且没有 GROUP BY 的相关查询表达式优化为非相关查询表达式;
2:将子查询列均来自上层查询且子查询中不包含层次查询、ROWNUM、TOP 的相关子查询的FROM 项改写为(SELECT TOP 1 1 FROM …)派生表,减少中间结果集;
8:将 EXISTS 子查询的查询项转换为常量 0,兼容 ORACLE 处理方式,同时优化子查询对查询项的处理过程。如果子查询为集合查询,则不进行换;
16:通过原始语句判断查询表达式是否相同。支持使用上述有效值的组合值,如 3 表示同时进行 1 和 2 的优化

2.4.62 USE_REFER_TAB_ONLY

缺省值: 0
属性: 动态,会话级
说明: 处理相关子查询时是仅将相关的表下放,或者连同上方的 SEMI/HASH JOIN 一起下放。0:一起下放;1:仅下放相关表

2.4.63 REFED_SUBQ_CROSS_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否将相关子查询与外层表优化为 CROSS JOIN,0:不优化;1:优化
说明: DM 早期版本参数,不再推荐使用

2.4.64 IN_LIST_AS_JOIN_KEY

缺省值: 0
属性: 动态,会话级
说明: 搜索多表连接方式时,对于索引连接(INDEX JOIN)的探测NEXP_IN_LST 表达式类型可以作为多表连接的 KEY。取值范围:
0:表示搜索多表连接方式时,对于索引连接(INDEX JOIN)的探测,NEXP_IN_LST 不可以作为连接 KEY;
1:表示搜索多表连接方式时,对于索引连接(INDEX JOIN)的探测,把 NEXP_IN_LST当做普通等值 KEY 的处理方式来生成 INDEX JOIN 的连接 KEY。

2.4.65 OUTER_JOIN_INDEX_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 外连接优化为索引连接的优化开关。1:优化;0:不优化。

2.4.66 OUTER_JOIN_FLATING_FLAG

缺省值: 0
属性: 动态,会话级
说明: 优化外连接。0:不启用优化;
1:启用优化,例如,使得类似这样的连接 A
LEFT (B CROSS C) ON A.C1=B.C1 优化为 A LEFT (B JOIN (DISTINCT A) ON A.C1=B.C1 CROSS C) ON A.C1=B.C1 ,相当于把 A 和 B 的过滤器平坦化到了下层查询中,使得 B 获取的中间结果较小

2.4.67 TOP_ORDER_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 优化带有 TOP 和 ORDER BY 子句的查询,使得SORT 操作符可以省略。优化的效果是尽量使得ORDER BY 的排序列所对应的基表可以使用包含排序列的索引,从而可以移除排序 SORT 操作符,减少排序操作。如果排序列不属于同一个基表,或者排序列不是基表列,则肯定是不
可以优化。取值: 0:不启用该优化 1:启用该优化

2.4.68 TOP_DIS_HASH_FLAG

缺省值: 1
属性: 动态,会话级
说明: 是否通过禁用 HASH JOIN 方式来优化 TOP 查询,取值:
0:不优化;
1:当 OPTIMIZER_MODE 为 0 时,TOP 下方连接禁用 HASH JOIN;当 OPTIMIZER_MODE 为 1 时,TOP 下方最近的连接倾向于不使用 HASH
JOIN;
2:当 OPTIMIZER_MODE 为 0 时,TOP 下方连接禁用 HASH JOIN;当 OPTIMIZER_MODE 为 1 时,TOP 下方所有连接都倾向于不使用 HASH
JOIN

2.4.69 ENABLE_RQ_TO_NONREF_SPL

缺省值: 0
属性: 动态,会话级
说明: 相关查询表达式转化为非相关查询表达式,目的在于相关查询表达式的执行处理由之前的平坦化方式转化为一行一行处理,类似 ORACLE的每行处理机制。
0:不启用该优化
1:对查询项中出现的相关
子查询表达式进行优化处理;
2:对查询项和WHERE 表达式中出现的相关子查询表达式进行优化处理

2.4.70 OPTIMIZER_MODE

缺省值: 1
属性: 动态,会话级
说明: DM 优化器的模式,0:老优化器模式;1:新优化器模式

2.4.71 LDIS_NEW_FOLD_FUN

缺省值: 0
属性: 动态,会话级
说明: 是否开启 LOCAL DISTRIBUTE 操作符使用与MPP DISTRIBUTE 操作符不同的函数来计算哈希值。0:否;1:是

2.4.72 DYNAMIC_CALC_NODES

缺省值: 0
属性: 动态,会话级
说明: 是否根据数据量设置 LOCAL DISTRIBUTE\ MPP DISTRIBUTE 操作符不同的并行度\节点数。0:否;1:是

2.4.73 OPTIMIZER_MAX_PERM

缺省值: 7200
属性: 动态,会话级
说明: 控制计划探测过程中的最大排列数,如果大于该阙值,则减少相应的排列,减少探测计划的时间,有效值范围(1~4294967293)

2.4.74 ENABLE_INDEX_FILTER

缺省值: 0
属性: 动态,会话级
说明: 是否进行索引过滤优化,可取值为 0、1、2。 0 不进行优化;
1 使用索引过滤优化,如果过滤条件涉及的列包含在索引中,那么索引进行 SSEK2 后就可以使用此过滤条件,可以减少中间结果集;
2 在取值为 1 的基础上,将 IN 查询列表转换为HASH RIGHT SEMI JOIN。

2.4.75 NEW_MOTION

缺省值: 1
属性: 动态,会话级
说明: 是否使用代价计算来决定使用的通讯操作符, 0:否;1:是

2.4.76 OPTIMIZER_DYNAMIC_SAMPLING

缺省值: 0
属性: 动态,会话级
说明: 当统计信息不可用时是否启用动态统计信息。取值范围:0 ~ 12。0:不启用;1~10:启用,
采用率 10%~100%;11:启用,由优化器确定采样率(0.1% ~ 99.9%))
12:同 11,但收集的结果会持久化保存

2.4.77 NONREFED_SUBQUERY_AS_CONST

缺省值: 0
属性: 动态,会话级
说明: 是否将非相关子查询转化为常量处理。0:不进行优化,对非相关子查询使用连接方式处理;1:将非相关子查询转换为常量,作为过滤条件使用

2.4.78 HASH_CMP_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否启用静态哈希表的优化。0:不启用优化; 1:分组中的 DISTINCT 开启此优化;2:对
HASH 连接启用该优化;4:对 HAGR 分组计算启用该优化;8:DISTINCT 操作开启此优化。
支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.79 OUTER_OPT_NLO_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否进行外连接和内连接的相关优化。0:不优 化;1:满足条件时,将外连接转换为嵌套外连接进行优化;2:满足条件时,将内连接转换为嵌套连接+VAR 方式进行优化;4:打开外连接
操作符 HLO/HRO 只返回不满足条件值的优化。取值 1、2 仅在 OPTIMIZER_MODE = 0 时生
效。支持使用上述有效值的组合值,如 5 表示同时进行 1 和 4 的优化

2.4.80 DISTINCT_USE_INDEX_SKIP

缺省值: 2
属性: 动态,会话级
说明: DISTINCT 列是否使用索引跳跃扫描(单列索引或复合索引)。专门用于 SQL 语句中有
DISTINCT 的场景,DISTINCT 列的查询的一种优化方式,在索引上跳跃着扫描。0:不使用;
1:强制使用;2:根据代价选择是否使用;4,对于多级分区,允许使用 DSSEK。该参数只在 OPTIMIZER_MODE=1 时有效

2.4.81 USE_INDEX_SKIP_SCAN

缺省值: 0
属性: 动态,会话级
说明: 是否使用复合索引跳跃扫描。专门用于 WHERE子句等值条件的查询列中包含了复合索引的
列,但该列又不是复合索引的前导列,这种情况下,选择是否使用复合索引跳跃扫描。和
INDEX_SKIP_SCAN_RATE 搭配使用。
0:不使用;
1:根据代价选择是否使用。通过代价计算选择,倾向于选择前导列 DISTINCT 值少,搜索列
DISTINCT 值较多的索引;
2:强制使用。只要能够找到索引可以使用跳跃扫描,就强制使用

2.4.82 INDEX_SKIP_SCAN_RATE

缺省值: 0.0025
属性: 动态,会话级
说明: 复合索引跳跃扫描的代价调节开关。当列的(DISTINCT 数/总行数)比值大于该值时,就不再使用索引跳跃扫描的方式。取值范围 0~1。 和 USE_INDEX_SKIP_SCAN 搭配使用
SPEED_SEMI_JOIN_PLAN
缺省值: 1
属性: 动态,会话级
是否加速半连接的探测过程。
0:不加速;1:加速计划探测;2:加速计划探测和执行

2.4.83 COMPLEX_VIEW_MERGING

缺省值: 0
属性: 动态,会话级
说明: 对于复杂视图(一般含有GROUP或者集函数等)会执行合并操作,使得 GROUP 分组操作在连接
之后才执行。0:不启用;1:对不包含别名和同名列的视图进行合并;2:视图定义包含别名或同名列时也进行合并

2.4.84 OP_SUBQ_CVT_IN_FLAG

缺省值: 1
属性: 动态,会话级
说明: 当查询条件为=(SUBQUERY),是否考虑转换为等价的 IN(SUBQUERY)。0:不转换;1:转换
HLSM_FLAG
缺省值: 1
属性: 动态,会话级
说明: 控制多列非相关 NOT IN 的查询实现方式,1:当数据量较大,HASH BUF 放不下时,采用 MTAB
方式处理;
2:当数据量较大,HASH BUF 放不下时,采用 B 树方式处理,使用细粒度扫描;
3:当数据量较大,HASH BUF 放不下时,采用 B树方式处理,使用粗粒度扫描

2.4.85 DEL_HP_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 控制分区表的操作优化,0:不优化;1:打开分区表 DELETE 优化;2:控制范围分区表创建
的优化处理,转换为数据流方式实现;4:允许语句块中的间隔分区表自动扩展;8:开启对
TRUNCATE 分区表的优化处理;16:完全刷新时删除老数据使用 DELETE 方式
支持使用上述有效值的组合值,如 7 表示同时进行 1、2、4 的优化

2.4.86 OPTIMIZER_OR_NBEXP

缺省值: 0
属性: 动态 会话级
说明: OR 表达式的优化方式。0:不优化;1:生成UNION_FOR_OR 操作符时,优化为无 KEY 比较
方式;2:OR 表达式优先考虑整体处理方式;4:相关子查询的 OR 表达也优考虑整体处理方式;
8:OR 布尔表达式的范围合并优化;16:同一列上同时存在常量范围过滤和 IS NULL 过滤时
的优化,如 C1 > 5 OR C1 IS NULL。支持使用上述有效值的组合值,如 7 表示同时进行 1、2、4 的优化

2.4.87 CNNTB_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否使用优化的层次查询执行机制。0:不使用;1:强制使用;2:优化器自动决定是否使用;4:
层次查询不支持并行支持使用上述有效值的组合值,如 7 表示同时进行 1、2、4 的优化

2.4.88 ADAPTIVE_NPLN_FLAG

缺省值: 3
属性: 动态,会话级
说明: 是否启用自适应计划机制,仅OPTIMIZER_MODE=1 时生效。0:不启用;1:对索引连接、嵌套含 VAR 连接等复杂连接启用自适应计划;2:ORDER BY 在 HASH 连接时启用自适应计划;3:同时启用 1 和 2 的优化机制

2.4.89 MULTI_UPD_OPT_FLAG

缺省值: 0
属性: 动态,会话级
说明: 是否使用优化的多列更新。0:不使用,仍按照语句改写方式实现;1:利用多列 SPL 功能加以实现。

2.4.90 MULTI_UPD_MAX_COL_NUM

缺省值: 128
**属性:**动态,会话级
说明: 利用多列 SPL 功能以实现多列更新(MULTI_UPD_OPT_FLAG 为 1)时可更新的最大列数,有效值范围(2~10000)

2.4.91 ENHANCE_BIND_PEEKING

缺省值: 0
说明: 静态 是否使用自适应的绑定变量窥探开关。0:不使用;1:使用

2.4.92 NBEXP_OPT_FLAG

缺省值: 3
**属性:**动态,会话级
说明: 控制布尔表达式的一些优化。0:不优化;1:进行根据展开后的项数控制 NOT 是否下放展开的优化;2:进行 AND 分支的 OR 布尔表达式的公因子上拉优化。支持使用上述有效值的组合值,如 3 表示同时进行 1、2 的优化

2.4.93 HAGR_HASH_ALGORITHM_FLAG

缺省值: 0
**属性:**动态,会话级
说明: HAGR 中 HASH 算法选择标记。0:按照移位方式计算;1:按照异或方式计算

2.4.94 DIST_HASH_ALGORITHM_FLAG

缺省值: 0
**属性:**动态,会话级
说明: DISTINCT 中 HASH 算法选择标记。0:按照移位方式计算;1:按照异或方式计算

2.4.95 UNPIVOT_ORDER_FLAG

缺省值: 0
**属性:**动态,会话级
说明: 是否对 UNPIVOT 的结果按照公共列排序,公共列指表中未出现在 UNPIVOT 的列。0:不排序;1:排序

2.4.96 VIEW_FILTER_MERGING

缺省值: 2
**属性:**动态,会话级
说明: 是否对视图条件进行合并优化以及如何优化,
0:不优化;1:尽可能地进行视图条件合并;2:自动判断是否进行视图条件合并

2.4.97 OPT_MEM_CHECK

缺省值: 0
**属性:**动态,会话级
说明: 内存紧张时,优化器是否缩减计划探测空间,仅 OPTIMIZER_MODE=0 时生效。0:不缩减计
划探测空间;1:缩减计划探测空间;

2.4.98 ENABLE_JOIN_FACTORIZATION

缺省值: 0
**属性:**动态,会话级
说明: 是否启用连接分解,即 UNION ALL 分支间存在公共部分时是否进行公因子提取。0:不启用;
1:启用

2.4.99 ERROR_COMPATIBLE_FLAG

缺省值: 0
**属性:**动态、会话级
说明: 是否对子查询同名列进行报错。取值 0 或 1。0报错,1 不报错

2.4.100 ENABLE_PARTITION_WISE_OPT

缺省值: 0
**属性:**动态,会话级
说明: 是否利用水平分区表的分区信息进行排序、分组的计划优化,即在满足条件的情况下对每个
子表单独排序、分组,或者进行子表间的归并排序。0:不启用;1:启用

2.4.101 EXPLAIN_SHOW_FACTOR

缺省值: 1
**属性:*动态,会话级
说明: 显示执行计划的行数和嵌套层数的基数分别为1000 和 100,实际显示的行数和嵌套层数为
基数
EXPLAIN_SHOW_FACTOR。有效值范围(1~100)

2.4.102 HASH_PLL_OPT_FLAG

缺省值: 0
**属性:**动态,会话级
说明: 当进行 HASH SEMI/INNER 连接时,若右表为分区表,是否对分区表进行裁剪。0:否;1: 是

2.4.103 PLACE_GROUP_BY_FLAG

缺省值: 0
**属性:**动态,会话级
说明: 在含有集函数的查询中,是否允许先分组减少数据量后再进行连接。0:不允许;1:允许

2.4.104 ENABLE_NEST_LOOP_JOIN_CACHE

缺省值: 0
**属性:**动态,会话级
说明: 是否考虑缓存嵌套循环连接中间结果以加速执行。取值 0 或 1。0:不启用;1:启用

2.4.105 ENABLE_DBLINK_TO_INV

缺省值: 0
属性: 动态,会话级
说明: DBLINK 相关子查询是否转换为函数。0:不转换;1:转换

2.4.106 ENABLE_BLOB_CMP_FLAG

缺省值: 0
属性: 动态,会话
说明: 是否支持大字段类型的比较。0:不支持;1:支持,此时 DISTINCT、ORDER BY、 分析函
数和集函数支持对大字段进行处理

2.4.107 ENABLE_CREATE_BM_INDEX_FLAG

缺省值: 1
属性: 静态
说明: 是否允许创建位图索引。0:不允许创建位图索引,位图索引作为普通 B 树索引进行创建;1:允许创建位图索引

2.4.108 CVIEW_STAR_WITH_PREFIX

缺省值: 1
属性: 动态,会话
说明: 创建视图获取视图定义语句,展开查询项中的*时,列名前是否添加表名作为前缀。0:不添
加前缀;1:添加前缀

2.4.109 ENABLE_ADJUST_NLI_COST

缺省值: 1
属性: 动态,会话
说明: 是否允许系统自动对嵌套连接的代价进行增大调整。0:不允许;1:不允许

2.4.110 ENABLE_SEQ_REUSE

缺省值: 0
属性: 动态,会话
说明: 控制是否允许重用相同的序列表达式。0:不允许;1:允许。
例如
1SELECT SEQ1.NEXTVAL,SEQ1.NEXTVAL FROM DUAL;
当参数取 1:返回值两列相同
当参数取 0:返回值两列不同

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值