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

enable_adaptive_codec_selection

启用后,对于使用默认编解码器的列 (即未指定 CODEC 子句或指定 CODEC(Default)) ,合并和变更会为每个块选择编解码器。 候选编解码器包括表的默认编解码器 (请参阅 default_compression_codec 设置) 、NONE 以及适合该列类型的专用编解码器;每个专用编解码器既会单独作为候选项,当默认编解码器为 LZ4 或 ZSTD 等通用压缩算法时,也会在其后串联默认编解码器作为候选项。 输出最小的候选项将被选中。因此,压缩效果不会比默认编解码器更差,无法压缩的块会以原始形式存储。 如果某列的默认编解码器包含加密 (例如 AES_128_GCM_SIV) ,则不会对其进行自适应选择,因此始终会应用加密。 每个块所使用的编解码器可通过 mergeTreeCodecBlockCounts 表函数查看。

enable_index_granularity_compression

如果可以,则压缩内存中的索引粒度值

enable_max_bytes_limit_for_min_age_to_force_merge

设置 min_age_to_force_merge_seconds 和 min_age_to_force_merge_on_partition_only 是否应遵循 max_bytes_to_merge_at_max_space_in_pool 设置。 可选值:
  • true
  • false

enable_mixed_granularity_parts

启用或禁用切换为使用 index_granularity_bytes 设置来控制粒度大小。在 19.11 版本之前,只有 index_granularity 设置可用于限制粒度大小。index_granularity_bytes 设置可在从包含大行 (数十到数百 MB) 的表中读取数据时提升 ClickHouse 的性能。 如果你的表中存在大行,可以为这些表启用此设置, 以提高 SELECT 查询的效率。

enable_replacing_merge_with_cleanup_for_min_age_to_force_merge

在将分区合并为单个 part 时,是否对 ReplacingMergeTree 使用 CLEANUP 合并。需要启用 allow_experimental_replacing_merge_with_cleanup、min_age_to_force_merge_seconds 和 min_age_to_force_merge_on_partition_only。 可选值:
  • true
  • false

enable_row_mask_update_coalescing

在对采用 Full 存储格式的 Wide 分片执行变更时,将相邻的单个 UPDATE _row_exists = 0 命令合并执行。已持久化的变更命令及其 版本保持不变。 设置为 false 时,每个命令将单独执行。

enable_the_endpoint_id_with_zookeeper_name_prefix

为 ReplicatedMergeTree 表启用带有 ZooKeeper 名称前缀的 Endpoint ID。

enable_vertical_merge_algorithm

允许符合条件的后台合并使用纵向合并算法。纵向合并逐列处理数据,以降低宽表的峰值内存占用,但可能降低合并速度。将此设置设为 0 会强制使用横向合并;非零值仅表示允许使用纵向合并,实际是否采用该算法仍取决于分片格式、表引擎、TTL 操作以及 vertical_merge_algorithm_min_* 阈值。