これらの設定は system.merge_tree_settings で参照でき、ClickHouse のソースから自動生成されています。
merge_max_block_size
マージ対象のパーツからメモリに読み込まれる行数。
設定可能な値:
- 任意の正の整数。
マージ処理では、パーツから merge_max_block_size 行単位のブロックで行を読み込み、
その後、それらをマージして結果を新しいパーツに書き込みます。読み込まれたブロックは RAM に配置されるため、
merge_max_block_size はマージに必要な RAM 量に影響します。
そのため、行幅が非常に広いテーブルでは、マージ時に大量の RAM を消費することがあります
(平均行サイズが 100kb の場合、10 個のパーツをマージすると、
(100kb * 10 * 8192) = 約 8GB の RAM になります) 。merge_max_block_size を小さくすると、
マージに必要な RAM 量は減らせますが、マージ速度は低下します。
merge_max_block_size_bytes
マージ操作で生成されるブロックのバイト数。デフォルトでは、
index_granularity_bytes と同じ値です。
merge_max_bytes_to_prewarm_cache
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.1 | 1073741824 | Cloud sync |
ClickHouse Cloud でのみ利用可能です。マージ中に cache をプリウォームする際の、パーツ (compact パーツ または packed) の最大サイズです。
merge_max_dynamic_subcolumns_in_compact_part
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.1 | auto | データ型で指定されたパラメータにかかわらず、マージ後の compact パーツ内の動的サブカラム数を制限するための新しい設定を追加 |
マージ後の各カラムの compact パーツ内で作成できる動的サブカラムの最大数です。 これにより、データ型で指定された動的パラメータにかかわらず、compact パーツ内の動的サブカラム数を制御できます。
たとえば、テーブルに JSON(max_dynamic_paths=1024) 型のカラムがあり、設定 merge_max_dynamic_subcolumns_in_compact_part が 128 に設定されている場合、 compact パーツへのマージ後は、このパーツ内の 動的パス の数が 128 に減少し、動的サブカラムとして書き込まれるのも 128 個のパスだけになります。
merge_max_dynamic_subcolumns_in_wide_part
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.11 | auto | データ型で指定されたパラメータに関係なく、マージ後の Wide part 内の動的サブカラム数を制限する新しい設定を追加 |
マージ後の wide パーツ内で、各カラムに作成できる動的サブカラムの最大数です。 これにより、データ型で指定された動的パラメータに関係なく、wide パーツ内に作成されるファイル数を減らせます。
たとえば、テーブルに JSON(max_dynamic_paths=1024) 型のカラムがあり、設定 merge_max_dynamic_subcolumns_in_wide_part が 128 に設定されている場合、 wide パーツへのマージ後、このパーツ内の動的パス数は 128 まで減らされ、動的サブカラムとして書き込まれるのも 128 個のパスのみになります。