Skip to content

适用虚谷数据库版本

v12.10.8



适用虚谷数据库版本

v12.10.8


自动生成弹射式执行计划的最小查询开销值(auto_eje_cast)

📄字数 807
👁️阅读量 加载中...

引入版本

v11.0.0

功能描述

为查询语句自动规划并行执行计划的阈值。

参数属性

属性属性值
参数类型INTEGER
默认值10000
取值范围[-1, 2147483647]
影响范围系统级
修改方式在线修改,立即生效

使用场景说明

  1. 该参数控制系统为查询规划执行计划的行为。
-作用及影响
auto_eje_cast = -1系统禁用并行执行功能。
auto_eje_cast ≥ 0在不含有不可并行执行的条件(不可并行化的函数或语句中含有 with 子句)时,若 SQL 中显式指定并行(PARALLEL >
1),则系统将尽量为其规划并行执行计划;若 SQL 中未显式指定并行,系统将根据 auto_use_eje 和 auto_eje_cast 的
配置决定是否为其规划并行执行计划。
  1. 在不同的 auto_eje_cast 与 auto_use_eje 组合场景下,对 SQL 生成并行执行计划的影响:
-auto_eje_cast = -1auto_use_eje = trueauto_use_eje = false
SQL 中含有不可并行化的函数不可并行不可并行不可并行
SQL 中含有 WITH 子句不可并行不可并行不可并行
auto_eje_cast = -1不可并行不可并行不可并行
SQL 中显式指定了 PARALLEL, 且 PARALLEL > 1不可并行并行并行
其它情况不可并行若扫描代价 ≥ auto_eje_cast,则并行不可并行

注意

  1. 含有只能在本地计算的系统函数(访问系统表 SYS_METHODS,函数的 OPTION 属性中含有 1)的 SQL 无法规划并行执行计划。
  2. 个别聚合函数无法参与并行计算,比如 GROUP_CONCATLISTAGG 等。

示例

sql
-- 在线修改 auto_eje_cast
SQL> SET auto_eje_cast TO 10000;

-- 在线查看 auto_eje_cast
SQL> SHOW auto_eje_cast;