这些设置可在 system.merge_tree_settings 中查看,且由 ClickHouse 源代码自动生成。
number_of_free_entries_in_pool_to_execute_mutation
当池中的空闲条目数少于指定数量时,不执行 part 变更。这样可以为常规合并保留空闲线程, 并避免出现“parts 过多”错误。
可能的值:
- 任意正整数。
用法
number_of_free_entries_in_pool_to_execute_mutation 设置的值
不得超过 background_pool_size
与 background_merges_mutations_concurrency_ratio 的乘积。
否则,ClickHouse 将抛出异常。
number_of_free_entries_in_pool_to_execute_optimize_entire_partition
当池中的空闲条目数少于指定值时,不要在后台执行整个分区的优化 (当设置 min_age_to_force_merge_seconds 并启用
min_age_to_force_merge_on_partition_only 时,会生成此任务) 。这样做是为了给常规合并预留空闲线程,
并避免出现“parts 过多”。
可能的值:
- 正整数。
number_of_free_entries_in_pool_to_execute_optimize_entire_partition
设置的值应小于
background_pool_size
- background_merges_mutations_concurrency_ratio 的值。 否则,ClickHouse 会抛出异常。
number_of_free_entries_in_pool_to_lower_max_size_of_merge
当池中的空闲条目数 (或副本队列中的空闲条目数) 少于指定数量时,就开始降低待处理合并 (或待加入队列的合并) 的最大大小。 这样可以让小型合并优先得到处理,避免让长时间 运行的合并占满整个池。
可能的值:
- 任意正整数。
number_of_mutations_to_delay
如果表中至少有 这么多未完成的变更,则会人为降低该表变更的速度。 设置为 0 时禁用
number_of_mutations_to_throw
如果表中至少有这么多未完成的变更,则会抛出“变更过多”异常。设置为 0 时则禁用
number_of_partitions_to_consider_for_merge
版本历史
| 版本 | 默认值 | 注释 |
|---|---|---|
| 25.1 | 10 | Cloud sync |
仅在 ClickHouse Cloud 中可用。将考虑最多前 N 个可进行合并的分区。 这些分区会以加权随机的方式选取,其中权重 为该分区中可合并的数据分区片段数量。