Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

distributed_background_* 会话设置

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

distributed_background_insert_batch

别名: distributed_directory_monitor_batch_inserts

类型
Bool
默认值
0

启用/禁用按批次发送已插入的数据。

启用批次发送后,Distributed 表引擎会尝试在一次操作中发送多个包含已插入数据的文件,而不是分别发送。批次发送能更充分地利用服务器和网络资源,从而提升集群性能。

可能的值:

  • 1 — 已启用。
  • 0 — 已禁用。

distributed_background_insert_max_sleep_time_ms

别名distributed_directory_monitor_max_sleep_time_ms

类型
毫秒
默认值
30000

Distributed 表引擎发送数据的最大时间间隔。用于限制 distributed_background_insert_sleep_time_ms 设置中指定时间间隔的指数级增长。

可能的值:

  • 以毫秒为单位的正整数。

distributed_background_insert_sleep_time_ms

别名: distributed_directory_monitor_sleep_time_ms

类型
毫秒
默认值
100

Distributed 表引擎发送数据时使用的基础时间间隔。发生错误时,实际时间间隔会按指数级增长。

可能的值:

  • 以毫秒为单位的正整数。

distributed_background_insert_split_batch_on_failure

别名: distributed_directory_monitor_split_batch_on_failure

类型
Bool
默认值
0

启用/禁用在失败时拆分批次。

有时,向远程分片发送某个特定批次可能会失败,这是因为后续存在复杂的管道处理 (例如带有 GROUP BYMATERIALIZED VIEW) ,从而导致 Memory limit exceeded 或类似错误。在这种情况下,重试并不能解决问题 (而且还会导致该表的分布式发送卡住) ;但如果将该批次中的文件逐个发送,则可能成功执行 INSERT。

因此,将此设置设为 1 后,将对这类批次禁用批处理 (即临时对失败批次禁用 distributed_background_insert_batch) 。

可能的值:

  • 1 — 启用。
  • 0 — 禁用。

distributed_background_insert_timeout

别名: insert_distributed_timeout

类型
UInt64
默认值
0

向 Distributed 表执行插入查询的超时时间。此设置仅在启用 insert_distributed_sync 时生效。值为 0 表示不设超时。

Navigation