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

map_buckets_coefficient

sqrtlinear map_buckets_strategy 中,用于根据平均 Map 大小计算桶数量的系数。 对于 sqrt 策略:round(map_buckets_coefficient * sqrt(avg_map_size))。 对于 linear 策略:round(map_buckets_coefficient * avg_map_size)。 当 map_buckets_strategyconstant 时,此设置将被忽略。

map_buckets_min_avg_size

应用 with_buckets 序列化所需的最小平均 Map 大小 (每行的键数) 。 如果平均 Map 大小小于该值,则无论其他桶设置如何,都会使用单个桶。 值为 0 时,将禁用该阈值,并始终应用分桶策略。 此设置可用于避免对小型 Map 使用分桶序列化所带来的额外开销,因为其收益微乎其微。

map_buckets_strategy

根据平均 Map 大小,控制在 with_buckets Map 序列化中选择桶数量的策略。 可能的值:
  • constant — 始终使用 max_buckets_in_map 作为桶数量,不受平均 Map 大小影响。
  • sqrt — 使用 round(map_buckets_coefficient * sqrt(avg_map_size)) 作为桶数量,并将结果限制在 [1, max_buckets_in_map] 范围内。
  • linear — 使用 round(map_buckets_coefficient * avg_map_size) 作为桶数量,并将结果限制在 [1, max_buckets_in_map] 范围内。
最后修改于 2026年7月23日