是否允许自动生成弹射式执行计划(auto_use_eje)
📄字数 758
👁️阅读量 加载中...
引入版本
v11.0.0
功能描述
是否允许自动生成弹射式并行执行计划。
参数属性
| 属性 | 属性值 |
|---|---|
| 参数类型 | BOOLEAN |
| 默认值 | FALSE |
| 取值范围 | TRUE,FALSE |
| 影响范围 | 系统级 |
| 修改方式 | 在线修改,立即生效 |
使用场景说明
- 该参数控制系统是否为查询规划并行执行计划。
| auto_use_eje | 作用及影响 |
|---|---|
| true | 根据 auto_eje_cast 的取值来决定是否生成并行执行计划。 |
| false | 默认不使用并行,除非 SQL 中显式指定并行(PARALLEL > 1)属性。 |
- 在不同的 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 等。
- 访问文件表或虚表的查询不能并行。
- 使用索引序排序的查询不能并行(use_index_order = true)。
示例
sql
-- 在线修改 auto_use_eje
SQL> SET auto_use_eje TO false;
-- 在线查看 auto_use_eje
SQL> SHOW auto_use_eje;