Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

max_bytes_* MergeTree 表设置

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

max_bytes_to_merge_at_max_space_in_pool

类型
UInt64
默认值
161061273600

在资源充足的情况下,可合并为一个 part 的最大总 parts 大小 (以字节为单位) 。这大致对应于自动后台合并所能生成的最大 part 大小。 (0 表示禁用合并)

可能的值:

  • 任意非负整数。

合并调度器会定期分析各个分区中 parts 的大小和数量;如果池中有足够的空闲资源,就会启动后台合并。合并会持续进行,直到源 parts 的总大小超过 max_bytes_to_merge_at_max_space_in_pool

OPTIMIZE FINAL 发起的合并会忽略 max_bytes_to_merge_at_max_space_in_pool (仅考虑可用的磁盘空间) 。

max_bytes_to_merge_at_min_space_in_pool

类型
UInt64
默认值
1048576

在后台池可用资源最少时,可合并为一个 part 的最大总 part 大小 (以字节为单位) 。

可能的值:

  • 任意正整数。

max_bytes_to_merge_at_min_space_in_pool 定义了在可用磁盘空间不足 (在池中) 的情况下,仍可参与合并的 parts 的最大总大小。 这对于减少小 part 的数量以及降低出现 Too many parts 错误的概率是必要的。 合并会按待合并 parts 总大小的两倍预留磁盘空间。 因此,在磁盘可用空间较少时,可能会出现这样的情况: 虽然仍有可用空间,但这部分空间已经被正在进行的大型合并预留, 导致其他合并无法启动,而小 part 的数量会随着每次插入不断增加。

Navigation