自动生成弹射式执行计划的最小查询开销值(auto_eje_cast)
📄字数 807
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
为查询语句自动规划并行执行计划的阈值。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | INTEGER |
| 默认值 | 10000 |
| 取值范围 | [-1, 2147483647] |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数控制系统为查询规划执行计划的行为。
| - | 作用及影响 |
|---|---|
| auto_eje_cast = -1 | 系统禁用并行执行功能。 |
| auto_eje_cast ≥ 0 | 在不含有不可并行执行的条件(不可并行化的函数或语句中含有 with 子句)时,若 SQL 中显式指定并行(PARALLEL > 1),则系统将尽量为其规划并行执行计划;若 SQL 中未显式指定并行,系统将根据 auto_use_eje 和 auto_eje_cast 的 配置决定是否为其规划并行执行计划。 |
- 在不同的 auto_eje_cast 与 auto_use_eje 组合场景下,对 SQL 生成并行执行计划的影响:
| - | auto_eje_cast = -1 | auto_use_eje = true | auto_use_eje = false |
|---|---|---|---|
| SQL 中含有不可并行化的函数 | 不可并行 | 不可并行 | 不可并行 |
| SQL 中含有 WITH 子句 | 不可并行 | 不可并行 | 不可并行 |
| auto_eje_cast = -1 | 不可并行 | 不可并行 | 不可并行 |
| SQL 中显式指定了 PARALLEL, 且 PARALLEL > 1 | 不可并行 | 并行 | 并行 |
| 其它情况 | 不可并行 | 若扫描代价 ≥ auto_eje_cast,则并行 | 不可并行 |
注意
- 含有只能在本地计算的系统函数(访问系统表 SYS_METHODS,函数的 OPTION 属性中含有 1)的 SQL 无法规划并行执行计划。
- 个别聚合函数无法参与并行计算,比如 GROUP_CONCAT、LISTAGG 等。
示例
sql
-- 在线修改 auto_eje_cast
SQL> SET auto_eje_cast TO 10000;
-- 在线查看 auto_eje_cast
SQL> SHOW auto_eje_cast;