Skip to main content
这些设置见于 system.merge_tree_settings,并由 ClickHouse 源代码自动生成。

max_avg_part_size_for_too_many_parts

根据 ‘parts_to_delay_insert’ 和 ‘parts_to_throw_insert’ 的 ‘parts 过多’ 检查, 只有当相关分区中的平均 part 大小不超过指定阈值时,该检查才会生效。如果平均 part 大小 大于指定阈值,则 INSERT 操作既不会被延迟,也不会被 拒绝。这样一来,如果 parts 能成功 merge 为更大的 parts,就可以在单个 server 上的单个表中存储数百 TB 的数据。这 不会影响非活跃 parts 或总 parts 数的阈值。

max_buckets_in_map

Map 序列化的最大桶数。与 with_buckets Map 序列化一起使用。 实际桶数由 map_buckets_strategy 决定。 允许的最大值为 256。

max_cleanup_delay_period

用于清理旧队列日志、块哈希和 parts 的最大周期。

max_compress_block_size

写入表并进行压缩前,未压缩数据块的最大大小。你也可以在全局设置中指定此设置 (参见 max_compress_block_size 设置) 。创建表时指定的值会覆盖此设置的全局 值。

max_concurrent_queries

与 MergeTree 表相关的可并发执行的查询最大数量。 查询仍会受到其他 max_concurrent_queries 设置的限制。 可能的值:
  • 正整数。
  • 0 — 不限制。
默认值:0 (不限制) 。 示例

max_digestion_size_per_segment

已废弃设置,无任何作用。

max_file_name_length

在不对文件名进行哈希处理的情况下,保留原文件名时允许的最大长度。 仅在启用设置 replace_long_file_name_to_hash 时生效。 此设置的值不包括文件扩展名的长度。因此, 建议将其设置得低于文件名最大长度 (通常为 255 字节) ,并预留一定余量,以避免文件系统错误。

max_partitions_to_read

限制单次查询可访问的最大分区数。 创建表时指定的设置值可以通过 查询级别的设置覆盖。 可能的值:
  • 任意正整数。
你也可以在查询 / 会话 / profile 级别指定查询复杂度设置 max_partitions_to_read。

max_projections

MergeTree 投影的数量上限。

max_table_size_bytes_compressed

如果表中所有活跃和非活跃数据分区片段的压缩字节总量 (即磁盘上的占用大小) 超过该值, INSERT 将被中断,并抛出 Table size limit exceeded 异常。非活跃 parts 同样会被计入, 因为该设置的目的就是限制磁盘使用量。请注意,非活跃 parts 会在后台被清理 (参见 old_parts_lifetime 设置) ,因此观察到的大小可能会随时间下降。 该限制会在 INSERT 开始时以及新数据分区片段提交到工作集时进行检查, 其中包括后台 merges 和 变更 产生的结果。由 materialized views 执行的插入同样会被检查。 该限制不会在 复制拉取 时检查,因此并行写入多个副本时可能出现竞态条件, 导致超出限制。提交空数据分区片段始终是允许的,因此仍可从已超出限制的表中删除数据, 例如通过 TRUNCATE 或 ALTER TABLE ... DROP PARTITION。 可能的取值:
  • 任意正整数。
  • 0 — 不限制。
该设置适用于多租户、临时和演示用途的 services。

max_table_size_bytes_uncompressed

与 max_table_size_bytes_compressed 相同,但该限制作用于表中所有活跃与非活跃数据分区片段的未压缩字节总数。 可能的值:
  • 任意正整数。
  • 0 — 不限制。
该设置适用于多租户、临时和演示类服务。

max_table_size_rows

如果表的活跃数据分区片段中的总行数超过该值,INSERT 会被中断并抛出 Table size limit exceeded 异常。该限制会在 INSERT 开始时以及新的数据分区片段 提交到工作集时进行检查,其中包括后台 merge 和变更产生的结果 (因此,会使表大小超出 限制的变更将不断重试而无法完成) 。由 materialized view 触发的插入同样会被检查。复制 拉取时不会检查该限制,因此存在竞态条件:并行向多个副本写入时可能突破该限制。 提交空数据分区片段始终是允许的,因此仍可从超出限制的表中删除数据,例如使用 TRUNCATE 或 ALTER TABLE ... DROP PARTITION。 可能的值:
  • 任意正整数。
  • 0 — 不限制。
该设置适用于多租户、临时和演示用途的服务。

max_uncompressed_bytes_in_patches

所有补丁分区片段中数据的最大未压缩大小 (字节) 。 如果所有补丁分区片段中的数据量超过该值,将拒绝轻量级更新。 0 - 不限。
最后修改于 2026年9月26日