Skip to main content
这些设置可在 system.settings 中找到,并根据 源代码 自动生成。

distributed_aggregation_memory_efficient

是否启用分布式聚合的内存节省模式。

distributed_connections_pool_size

对单个 Distributed 表的所有查询执行分布式处理时,与远程服务器的最大并发连接数。建议将该值设置为不小于集群中的服务器数量。

distributed_foreground_insert

别名: insert_distributed_sync 启用或禁用向 Distributed 表同步插入数据。 默认情况下,向 Distributed 表插入数据时,ClickHouse server 会以后台模式将数据发送到集群节点。当 distributed_foreground_insert=1 时,数据会同步处理,并且只有在所有数据都保存到所有分片上之后,INSERT 操作才会成功 (如果 internal_replication 为 true,则每个分片上至少有一个副本) 。 可能的值:
  • 0 — 数据以后台模式插入。
  • 1 — 数据以同步模式插入。
Cloud 默认值:1 另请参见

distributed_group_by_no_merge

在分布式查询处理过程中,不合并来自不同服务器的聚合状态;当可以确定不同分片上的键各不相同时,可使用此设置 可能的值:
  • 0 — 禁用 (最终查询处理在发起节点上完成) 。
  • 1 - 在分布式查询处理过程中,不合并来自不同服务器的聚合状态 (查询在分片上完全处理,发起节点仅转发数据) ;当可以确定不同分片上的键各不相同时,可使用此设置。
  • 2 - 与 1 相同,但会在发起节点上应用 ORDER BYLIMIT (而在 distributed_group_by_no_merge=1 的情况下,当查询完全在远程节点上处理时,这是不可能的) (可用于带有 ORDER BY 和/或 LIMIT 的查询) 。
示例

distributed_insert_skip_read_only_replicas

启用后,对于向 Distributed 执行的 INSERT 查询,会跳过只读副本。 可选值:
  • 0 — INSERT 行为保持不变;如果请求发送到只读副本,将会失败
  • 1 — 发起节点会在将数据发送到分片之前跳过只读副本。

distributed_product_mode

更改分布式子查询的行为。 当查询中出现分布式表的乘积时,ClickHouse 会应用此设置;也就是说,当针对分布式表的查询中包含一个针对该分布式表的非 GLOBAL 子查询时,就会应用此设置。 限制:
  • 仅适用于 IN 和 JOIN 子查询。
  • 仅当 FROM 子句使用了包含多个分片的分布式表时。
  • 仅当子查询涉及包含多个分片的分布式表时。
  • 不适用于表值函数 remote
可能的值:
  • deny — 默认值。禁止使用这类子查询 (返回 “Double-distributed in/JOIN subqueries is denied” 异常) 。
  • local — 将子查询中的数据库和表替换为目标端服务器 (分片) 的本地数据库和表,保留普通的 IN/JOIN.
  • global — 将 IN/JOIN 查询替换为 GLOBAL IN/GLOBAL JOIN.
  • allow — 允许使用这类子查询。

distributed_push_down_limit

启用或禁用在每个分片上单独应用 LIMIT 这样可以避免:
  • 通过网络传输多余的行;
  • 在发起节点上处理超出 LIMIT 的行。
从 21.9 版本开始,将不再出现结果不准确的情况,因为 distributed_push_down_limit 只有在至少满足以下条件之一时才会更改查询执行: 可能的值:
  • 0 — 禁用。
  • 1 — 启用。
另请参见:
最后修改于 2026年7月23日