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

merge_tree_coarse_index_granularity

データを検索する際、ClickHouse は索引ファイル内のデータマークを確認します。必要なキーが含まれる範囲が見つかると、ClickHouse はその範囲を merge_tree_coarse_index_granularity 個の部分範囲に分割し、その中を再帰的に検索して必要なキーを探します。 設定可能な値:
  • 正の偶数整数。

merge_tree_compact_parts_min_granules_to_multibuffer_read

ClickHouse Cloud でのみ有効です。並列読み取りと prefetch をサポートするマルチバッファリーダーを使用するために必要な、MergeTree テーブルの compact パーツ内のストライプに含まれるグラニュール数を指定します。リモート fs から読み取る場合、マルチバッファリーダーを使用すると読み取りリクエスト数が増加します。パーツに含まれるグラニュール数がこのしきい値未満であり、かつ読み取るカラム数よりも少ない場合、そのパーツは単一バッファで読み取られます。これは、その場合は単一バッファリーダーのほうがマルチバッファリーダーより少ない読み取りリクエストで済むためです。

merge_tree_determine_task_size_by_prewhere_columns

読み取りタスクサイズの決定に、prewhereカラムのサイズのみを使用するかどうか。

merge_tree_generic_exclusion_search_max_steps

フィルタを主キーの単一の連続した範囲として評価できない場合、たとえば先頭以外のキーカラムを使用している場合、ClickHouse は索引マークに対して反復的な汎用排除検索アルゴリズムを実行します。同じアルゴリズムは、テキスト索引の解析にも使用されます。この設定は、アルゴリズムが各データパートに費やすステップ数 (索引のチェック回数) を制限します。 この予算は、残っている中で最も大きいマーク範囲から優先的に消費されます。予算を使い切ると、完全に解析されなかった範囲はひとかたまりとして受け入れられるため、クエリの正しさは保たれますが、無制限の検索で選択される場合よりも多くのグラニュールを読み取ることがあります。予算を小さくすると、読み取るデータ量が増える代わりに索引解析は高速になります。この制限は解析コストの厳密な上限ではなく、検索はおおよそ 1 回の分割ラウンド分だけ超過することがあります。また、パートがすでに多数の範囲に分割されている場合 (たとえば query condition cache による場合) 、制限に関係なく各範囲は少なくとも 1 回チェックされます。 検索が各データパートで実行したステップ数は、クエリの trace レベルのログメッセージに記録されます。また、IndexGenericExclusionSearchStepLimitReached および TextIndexGenericExclusionSearchStepLimitReached profile events は、予算を使い切った回数をカウントします。 (既定の) 値 0 は、ステップ数が無制限であることを意味します。 設定可能な値:
  • ステップ数を無制限にする 0、または任意の正の整数。

merge_tree_max_bytes_to_use_cache

1つのクエリで ClickHouse が merge_tree_max_bytes_to_use_cache バイトを超えるデータを読み取る必要がある場合、非圧縮ブロックのキャッシュは使用されません。 非圧縮ブロックのキャッシュには、クエリ用に抽出されたデータが保存されます。ClickHouse はこのキャッシュを使用して、繰り返し実行される小規模なクエリへの応答を高速化します。この設定は、大量のデータを読み取るクエリによってキャッシュが使い尽くされるのを防ぎます。uncompressed_cache_size サーバー設定で、非圧縮ブロックのキャッシュのサイズを定義します。 設定可能な値:
  • 任意の正の整数。

merge_tree_max_rows_to_use_cache

ClickHouse が 1 回のクエリで merge_tree_max_rows_to_use_cache 行を超えて読み取る必要がある場合、非圧縮ブロックのキャッシュは使用されません。 非圧縮ブロックのキャッシュには、クエリ用に抽出されたデータが保存されます。ClickHouse はこのキャッシュを使用して、繰り返し実行される小規模なクエリへの応答を高速化します。この設定は、大量のデータを読み取るクエリによってキャッシュが無駄に消費されるのを防ぎます。uncompressed_cache_size サーバー設定で、非圧縮ブロックのキャッシュのサイズを定義します。 設定可能な値:
  • 任意の正の整数。

merge_tree_min_bytes_for_concurrent_read

MergeTreeエンジンのテーブルにおいて、1つのファイルから読み取るバイト数が merge_tree_min_bytes_for_concurrent_read を超える場合、ClickHouse はこのファイルを複数のスレッドで同時に読み取ろうとします。 設定可能な値:
  • 正の整数。

merge_tree_min_bytes_for_concurrent_read_for_remote_filesystem

リモートファイルシステムから読み取る際に、MergeTreeエンジンが並列読み取りを開始するまでに、1つのファイルから読み取る最小バイト数です。この設定の使用は推奨されません。 設定可能な値:
  • 正の整数。

merge_tree_min_bytes_for_seek

1 つのファイル内で読み取る 2 つのデータブロック間の距離が merge_tree_min_bytes_for_seek バイト未満の場合、ClickHouse は追加の シーク を避けるため、両方のブロックを含むファイル範囲を順次読み取ります。 設定可能な値:
  • 任意の正の整数。

merge_tree_min_bytes_per_task_for_remote_reading

別名: filesystem_prefetch_min_bytes_for_single_read_task タスクごとに読み取る最小バイト数。

merge_tree_min_read_task_size

タスクサイズの厳格な下限値 (グラニュール の数が少なく、利用可能なスレッド数が多い場合でも、これより小さいタスクは割り当てられません

merge_tree_min_rows_for_concurrent_read

MergeTree テーブルのファイルから読み取る行数が merge_tree_min_rows_for_concurrent_read を超えると、ClickHouse はこのファイルを複数のスレッドで同時に読み取ろうとします。 設定可能な値:
  • 正の整数。

merge_tree_min_rows_for_concurrent_read_for_remote_filesystem

リモートファイルシステムからの読み取り時に、MergeTreeエンジンが読み取りを並列化できるようになるまでに、1つのファイルから読み取る最小行数です。この設定の使用は推奨されません。 設定可能な値:
  • 正の整数。

merge_tree_min_rows_for_seek

1 つのファイル内で読み取る 2 つのデータブロック間の距離が merge_tree_min_rows_for_seek 行未満の場合、ClickHouse はファイル内でシークを行わず、データを順次読み取ります。 設定可能な値:
  • 任意の正の整数。

merge_tree_read_split_ranges_into_intersecting_and_non_intersecting_injection_probability

PartsSplitter のテスト用。指定した確率で、MergeTree から読み取るたびに読み取り範囲を交差する範囲と交差しない範囲に分割します。

merge_tree_storage_snapshot_sleep_ms

MergeTree テーブルのストレージスナップショット作成時に、人為的な遅延 (ミリ秒単位) を挿入します。 テストおよびデバッグ専用です。 設定可能な値:
  • 0 - 遅延なし (デフォルト)
  • N - ミリ秒単位の遅延

merge_tree_use_const_size_tasks_for_remote_reading

リモートテーブルから読み取る際に、一定サイズのタスクを使用するかどうか。

merge_tree_use_deserialization_prefixes_cache

MergeTree でリモートディスクから読み取る際に、ファイルのプレフィックス内のカラムメタデータをキャッシュする機能を有効にします。

merge_tree_use_prefixes_deserialization_thread_pool

MergeTree の wide パーツでプレフィックスを並列に読み取る際に、スレッドプールを使用するようにします。このスレッドプールのサイズは、サーバー設定 max_prefixes_deserialization_thread_pool_size で制御されます。

merge_tree_use_v1_object_and_dynamic_serialization

有効にすると、MergeTree では V2 の代わりに JSON 型および Dynamic 型のシリアル化バージョン V1 が使用されます。この設定の変更は、サーバーの再起動後にのみ反映されます。
最終更新日 2026年7月24日