这些设置可在 system.settings 中查看,并由 源代码 自动生成。
distributed_plan_default_reader_bucket_count
类型
NonZeroUInt64
默认值
8
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | 8 | 新的 Experimental 设置。 |
用于分布式查询并行读取的默认任务数。任务会分配到各个副本之间。 由基于规则的分布式查询计划器使用。基于成本的优化器会根据估算成本选择读取扇出,不使用此设置。
distributed_plan_default_shuffle_join_bucket_count
类型
NonZeroUInt64
默认值
8
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | 8 | 新增 Experimental 设置。 |
分布式 shuffle-hash join 的默认桶数。 由基于规则的分布式查询计划器使用。基于成本的优化器会根据估算成本选择扇出,不使用此设置。
distributed_plan_execute_locally
类型
Bool
默认值
0
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | 0 | 新的 Experimental 设置。 |
在本地运行分布式查询计划的所有任务。适用于测试和调试。
distributed_plan_force_exchange_kind
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | 新的 Experimental 设置。 |
强制在分布式查询各阶段之间使用指定类型的 Exchange 算子。
可能的值:
- '' - 不强制使用任何类型的 Exchange 算子,由优化器自行选择,
- 'Persisted' - 使用对象存储中的临时 File,
- 'Streaming' - 通过网络流式传输 Exchange 数据。
distributed_plan_force_shuffle_aggregation
类型
Bool
默认值
0
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.7 | 0 | 新的 Experimental 设置 |
在分布式查询计划中,采用 Shuffle 聚合策略,而不是 PartialAggregation + Merge。
distributed_plan_max_rows_to_broadcast
类型
UInt64
默认值
20000
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.7 | 20000 | 新的 Experimental 设置。 |
在分布式查询计划中,使用 broadcast join 而非 shuffle join 的最大行数。 这是基于规则的分布式查询计划器使用的启发式规则。启用基于成本的优化器后,broadcast 与 shuffle 的选择由估算成本决定,此设置不起作用。
distributed_plan_optimize_exchanges
类型
Bool
默认值
1
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.5 | 1 | 新的 Experimental 设置。 |
移除分布式查询计划中不必要的 exchange。调试时请禁用此设置。
distributed_plan_prefer_replicas_over_workers
类型
Bool
默认值
0
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.4 | 0 | 新增设置:为副本序列化分布式查询计划 |
将分布式查询计划序列化后在副本上执行。
distributed_plan_workers_num
类型
UInt64
默认值
0
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.6 | 0 | 新增 Experimental 设置,用于指定为分布式查询租用多少个无状态工作线程。0 表示禁用租用。 |
用于执行此查询的无状态工作线程数量。0 会禁用分布式查询计划的无状态工作线程租用。
distributed_plan_workers_provisioning_timeout_ms
类型
UInt64
默认值
10000
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 26.9 | 10000 | 用于限制查询在执行前等待租用的无状态工作线程变为可达状态的最长时间的新设置;将 `compatibility` 设为低于 26.9 可恢复此前不等待的行为。 |
查询在执行前可用于预配无状态工作线程的总挂钟时间,单位为毫秒:包括从 discovery 服务租用工作线程并验证其是否可达。查询最多会在此时间预算内阻塞,等待租用的工作线程就绪;时间耗尽后,查询将使用截至此时已验证的工作线程继续执行;如果没有任何工作线程可用,则查询失败。设为零时,仅等待首次租用和验证 (不重试) 。