Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

parallel_replicas_* 会话设置

这些设置可在 system.settings 中查看,并由 源文件 自动生成。

parallel_replicas_allow_in_with_subquery

类型
Bool
默认值
1
版本历史
版本默认值注释
24.31如果为 true,则 IN 子查询会在每个 follower 副本上执行

如果为 true,则 IN 子查询会在每个 follower 副本上执行。

parallel_replicas_allow_materialized_views

类型
Bool
默认值
1
版本历史
版本默认值注释
25.121允许并行副本使用 materialized views

允许并行副本使用 materialized views

parallel_replicas_allow_view_over_mergetree

Beta 版功能
类型
Bool
默认值
0
版本历史
版本默认值注释
26.40New setting

允许并行副本在基于 MergeTree 表的简单视图上执行外层查询 (而非视图的内部查询) ,从而提高节点间的并行化能力。同样适用于 UNION ALL 视图,前提是其所有分支都从不同的 MergeTree 表读取。

parallel_replicas_connect_timeout_ms

类型
毫秒
默认值
300
版本历史
版本默认值注释
25.6300并行副本查询的独立连接超时

使用并行副本执行查询时,连接远程副本的超时时间,单位为毫秒。如果发生超时,则不会使用相应的副本执行查询

parallel_replicas_count

Beta 版功能
类型
UInt64
默认值
0

这是一个不应直接使用的内部设置,用于表示“并行副本”模式的实现细节。对于分布式查询,发起服务器会自动将此设置设为参与查询处理的并行副本数。

parallel_replicas_custom_key

Beta 版功能

可用于在特定表的各个副本之间分摊工作的任意整数表达式。 该值可以是任意整数表达式。

优先使用基于主键的简单表达式。

如果该设置用于由单个分片和多个副本组成的集群,这些副本将被转换为虚拟分片。 否则,其行为将与 SAMPLE 键相同,即会使用每个分片的多个副本。

parallel_replicas_custom_key_range_lower

Beta 版功能
类型
UInt64
默认值
0
版本历史
版本默认值注释
24.60新增了相关设置,用于在并行副本配合 dynamic shards 使用时控制 `range` 过滤器

允许 range 类型的过滤器根据自定义范围 [parallel_replicas_custom_key_range_lower, INT_MAX],在各副本之间均匀分配工作负载。

parallel_replicas_custom_key_range_upper 配合使用时,它可让该过滤器针对范围 [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper] 在各副本之间均匀分配工作负载。

注意:此设置不会在查询处理期间额外过滤任何数据,而只是改变 range 过滤器为并行处理拆分范围 [0, INT_MAX] 时所使用的分界点。

parallel_replicas_custom_key_range_upper

Beta 版功能
类型
UInt64
默认值
0
版本历史
版本默认值注释
24.60新增了用于在结合 dynamic shards 使用并行副本时控制 range 过滤器的设置。值为 0 时将禁用上限

允许 range 类型的过滤器根据自定义范围 [0, parallel_replicas_custom_key_range_upper],在各副本之间均匀拆分工作。值为 0 时将禁用上界,并将其设为自定义键表达式的最大值。

当与 parallel_replicas_custom_key_range_lower 配合使用时,它可让过滤器在范围 [parallel_replicas_custom_key_range_lower, parallel_replicas_custom_key_range_upper] 内将工作均匀分配到各个副本。

注意:此设置不会在查询处理期间额外过滤任何数据;它只是改变了 range 过滤器在并行处理时拆分范围 [0, INT_MAX] 的分界点。

parallel_replicas_filter_pushdown

Beta 版功能
类型
Bool
默认值
0
版本历史
版本默认值注释
26.20新设置

允许将过滤器下推到由并行副本选择执行的查询部分

parallel_replicas_for_cluster_engines

类型
Bool
默认值
1
版本历史
版本默认值注释
25.31New setting.

将表函数引擎替换为对应的 -Cluster 版本

parallel_replicas_for_non_replicated_merge_tree

类型
Bool
默认值
0

如果为 true,ClickHouse 也会对非复制的 MergeTree 表使用并行副本算法

parallel_replicas_index_analysis_only_on_coordinator

类型
Bool
默认值
1
版本历史
版本默认值注释
24.121索引分析仅在副本协调器上执行,其他副本则跳过。仅在启用 parallel_replicas_local_plan 时生效
24.101索引分析仅在副本协调器上执行,其他副本则跳过。仅在启用 parallel_replicas_local_plan 时生效

索引分析仅在副本协调器上执行,其他副本则跳过。仅在启用 parallel_replicas_local_pla 时生效

parallel_replicas_insert_select_local_pipeline

类型
Bool
默认值
1
版本历史
版本默认值注释
25.51在启用并行副本的分布式 INSERT SELECT 中使用本地管道。当前因性能问题已禁用
25.40在启用并行副本的分布式 INSERT SELECT 中使用本地管道。当前因性能问题已禁用

在启用并行副本的分布式 INSERT SELECT 中使用本地管道

parallel_replicas_local_plan

类型
Bool
默认值
1
版本历史
版本默认值注释
24.90在使用并行副本的查询中,对本地副本使用本地执行计划
24.111在使用并行副本的查询中,对本地副本使用本地执行计划
24.101在使用并行副本的查询中,对本地副本使用本地执行计划

为本地副本构建本地执行计划

parallel_replicas_mark_segment_size

类型
UInt64
默认值
0
版本历史
版本默认值注释
24.90此设置的值现在会自动确定
24.1128新增设置,用于在新的并行副本协调器实现中控制分段大小

parts 会在逻辑上划分为多个分段,以便在并行读取时分配给各个副本。此设置用于控制这些分段的大小。除非你非常确定自己在做什么,否则不建议更改。取值范围应为 [128; 16384]

parallel_replicas_min_number_of_rows_per_replica

类型
UInt64
默认值
0

将查询中使用的副本数量限制为 (预计读取的行数 / min_number_of_rows_per_replica) 。最大值仍然受 'max_parallel_replicas' 限制

parallel_replicas_mode

类型
ParallelReplicasMode
默认值
read_tasks
版本历史
版本默认值注释
24.10read_tasks此设置是在将并行副本功能调整为 Beta 的过程中引入的

并行副本中 custom key 使用的过滤器类型。default - 对 custom key 使用 modulo 运算,range - 在 custom key 上使用 range filter,并基于 custom key 值类型的所有可能值进行处理。

parallel_replicas_only_with_analyzer

类型
Bool
默认值
1
版本历史
版本默认值注释
25.21只有在启用 analyzer 时才支持并行副本

要使用并行副本,必须启用 analyzer。如果 analyzer 被禁用,则查询执行会回退到本地执行,即使已启用从副本进行并行读取也是如此。不支持在未启用 analyzer 的情况下使用并行副本。

parallel_replicas_plan_based

Experimental 功能
类型
Bool
默认值
0
版本历史
版本默认值注释
26.70新设置

通过分析查询计划,决定是否使用并行副本以及在何处使用,而不是基于查询树进行分析。因此,发送到远程副本的是计划片段而非 SQL 查询。Experimental。

parallel_replicas_prefer_local_join

类型
Bool
默认值
1
版本历史
版本默认值注释
24.21如果为 true,且 JOIN 可以使用并行副本算法执行,并且 JOIN 右侧部分的所有存储引擎均为 *MergeTree,则会使用本地 JOIN,而不是 GLOBAL JOIN。

如果为 true,且 JOIN 可以使用并行副本算法执行,并且 JOIN 右侧部分的所有存储引擎均为 *MergeTree,则会使用本地 JOIN,而不是 GLOBAL JOIN。

parallel_replicas_prefer_local_replica

类型
Bool
默认值
1
版本历史
版本默认值注释
26.51新设置。禁用后,用于并行读取的副本将完全根据负载均衡算法选择,不会强制将本地副本纳入其中。

启用时 (默认) ,本地副本始终会包含在用于并行读取的副本集合中。 禁用时,本地副本不再具有任何优先权,副本将完全根据负载均衡算法选择。 这样一来,带有 max_parallel_replicas = 1 的查询可被定向到其他主机;当大量短查询分布在集群中时,这有助于改善缓存局部性。

parallel_replicas_support_projection

类型
Bool
默认值
1
版本历史
版本默认值注释
25.81新设置。投影优化可在并行副本中应用。仅在启用 parallel_replicas_local_plan 且 aggregation_in_order 未启用时生效。

投影优化可在并行副本中应用。仅在启用 parallel_replicas_local_plan 且 aggregation_in_order 未启用时生效。

Navigation