Skip to main content
これらの設定は system.merge_tree_settings で確認でき、ClickHouse のソースコードから自動生成されています。

enable_adaptive_codec_selection

有効にすると、マージとミューテーションでは、デフォルトのコーデック (CODEC 句がない、または CODEC(Default)) を使用するカラムごとに、block 単位でコーデックが選択されます。 候補は、テーブルのデフォルトコーデック (default_compression_codec 設定を参照) 、NONE、およびカラム型に適した特殊用途のコーデックです。これらはそれぞれ単独で試されるほか、デフォルトコーデックが LZ4 や ZSTD などの汎用圧縮である場合は、各候補の後にデフォルトコーデックを組み合わせたものも試されます。 出力サイズが最小のものが選択されます。そのため、圧縮率がデフォルトより悪化することはなく、圧縮できない block は生データのまま保存されます。 デフォルトコーデックに暗号化 (例: AES_128_GCM_SIV) が含まれるカラムはアダプティブ選択の対象にならないため、暗号化は常に適用されます。 block ごとのコーデックは、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 設定により、大きな行 (数十〜数百メガバイト) を持つテーブルから データを取得する際の ClickHouse のパフォーマンスが向上します。 大きな行を持つテーブルがある場合は、そのテーブルでこの設定を有効にすることで、 SELECT クエリの効率を向上させることができます。

enable_replacing_merge_with_cleanup_for_min_age_to_force_merge

パーティションを 1 つのパートにマージする際に、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 storage を使用する Wide パーツに対してミューテーションを実行する際、隣接する単一の UPDATE _row_exists = 0 コマンドを結合します。永続化されたミューテーションコマンドおよびその バージョンは変更されません。 各コマンドを個別に実行するには、false に設定します。

enable_the_endpoint_id_with_zookeeper_name_prefix

ReplicatedMergeTree テーブルで、ZooKeeper 名のプレフィックス付き endpoint ID を有効にします。

enable_vertical_merge_algorithm

条件を満たすバックグラウンドマージで Vertical merge アルゴリズムを使用できるようにします。Vertical merge はカラムごとに個別に処理することで、列数の多いテーブルにおけるピークメモリ使用量を削減しますが、その分マージ速度が低下する可能性があります。この設定を 0 にすると、常に horizontal merge が使用されます。0 以外の値は vertical merge の使用を許可するだけであり、実際に選択されるかどうかは、パーツのフォーマット、テーブルエンジン、TTL 操作、および vertical_merge_algorithm_min_* の各しきい値によって決まります。