概述
并行度控制
TDSQL Boundless 中使用 DOP(Degree Of Parallelism)表示并行度,即查询中使用的并行 Worker 数量。TDSQL Boundless 目前支持手动设置并行度与 自适应并行 两种并行度控制策略。
变量名 | 级别 | 默认值 | 说明 |
max_parallel_degree | SESSION | 0 | 单条查询的最大 DOP。设为0关闭并行;大于0表示开启。在开启了 自适应并行 时,如果 parallel_degree_policy 为 MANUAL 模式(手动设置并行度),该值表示查询的默认 DOP;如果 parallel_degree_policy 为 AUTO 模式(自动设置并行度),该值表示自动设置的 DOP 上限 |
max_parallel_workers | GLOBAL | 10000 | 整个节点并行 Worker 总数上限。设为0全局禁用并行 |
阈值控制
变量名 | 级别 | 默认值 | 说明 |
parallel_plan_cost_threshold | SESSION | 50000 | 串行代价大于或等于该值才考虑生成并行计划 |
parallel_scan_records_threshold | SESSION | 10000 | 表预估访问行数大于或等于该值才将该表纳入并行扫描候选 |
parallel_scan_ranges_threshold | SESSION | 2 | 预估可切分范围数大于或等于该值才使用并行扫描 |
parallel_scan_cost_threshold | SESSION | 10000.0 | 并行扫描代价门控 |
并行度控制策略
变量名 | 级别 | 默认值 | 说明 |
parallel_degree_policy | SESSION | MANUAL | DOP 策略: MANUAL 使用 max_parallel_degree 作为固定 DOP;AUTO 由优化器基于扫描代价自动计算 DOP |
parallel_plan_compare_serial_cost | SESSION | false | 该值为真时,如果原始串行计划比并行计划代价更低,则此时会走串行计划;否则,默认会走代价最低的并行计划 |
功能开关
变量名 | 级别 | 默认值 | 说明 |
tdsql_enable_parallel_hash_join | SESSION | false | |
single_delete_update_use_iterator | SESSION | false |