这些设置见于 system.merge_tree_settings,并由 ClickHouse 源代码自动生成。
parts_to_delay_insert
类型
UInt64
默认值
1000
如果单个分区中的活跃 parts 数量超过
parts_to_delay_insert 的值,则会人为延缓 INSERT。
可能的值:
- 任意正整数。
ClickHouse 会人为延长 INSERT 的执行时间 (加入“sleep”) ,以便
后台合并过程能够以快于新增 parts 的速度对其进行合并。
parts_to_throw_insert
类型
UInt64
默认值
3000
如果单个分区中的活跃 parts 数量超过
parts_to_throw_insert 的值,INSERT 将因 Too many parts (N). Merges are processing significantly slower than inserts
异常而中断。
可能的值:
- 任意正整数。
为了获得 SELECT 查询的最佳性能,需要尽量减少要处理的 parts 数量,参见 Merge Tree。
在 23.6 版本之前,此设置的值为 300。您可以将其设置为更高的值,这会降低出现 parts 过多
错误的概率,但同时 SELECT 性能也可能下降。此外,如果出现
merge 问题 (例如磁盘空间不足) ,与使用原始值 300 相比,您会更晚
注意到它。