これらの設定は system.settings で参照でき、ソースコード から自動生成されています。
max_analyze_depth
インタープリターが実行する解析の最大数。
max_autoincrement_series
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.1 | 1000 | 新しい設定 |
generateSerialID 関数によって作成される系列の数の上限です。
各系列は Keeper 内のノードを表すため、その数は多くても数百万個までに抑えることを推奨します。
max_backup_bandwidth
サーバー上の特定のバックアップに対する、1 秒あたりの最大読み取り速度 (バイト数) です。0 は無制限を意味します。
max_block_size
ClickHouse では、データはブロック単位で処理されます。ブロックはカラムのパーツの集合です。単一のブロックに対する内部処理サイクル自体は効率的ですが、各ブロックの処理には無視できないコストがかかります。
max_block_size 設定は、テーブルからデータを読み込む際に、1 つのブロックに含める行数の推奨最大値を示します。常に max_block_size サイズのブロックがテーブルから読み込まれるわけではありません。ClickHouse が取得するデータ量はそれより少なくてよいと判断した場合は、より小さいブロックが処理されます。
各ブロックの処理コストが目立つものになるのを避けるため、ブロックサイズは小さすぎてはいけません。また、LIMIT 句を含むクエリが最初のブロックの処理後すぐに実行できるようにするため、大きすぎてもいけません。max_block_size を設定する際は、多数のカラムを複数のスレッドで抽出するときにメモリを過剰に消費しないこと、そして少なくともある程度のキャッシュ局所性を維持することを目指すべきです。
max_columns_to_read
1 回のクエリで テーブル から読み取れるカラム数の上限です。 クエリで指定された数を超えるカラムを読み取る必要がある場合、例外 がスローされます。
0 は無制限を意味します。
max_compress_block_size
テーブルへの書き込み時に圧縮する前の、非圧縮データのブロックの最大サイズです。デフォルトは 1,048,576 (1 MiB) です。より小さいブロックサイズを指定すると、一般に圧縮率はわずかに低下しますが、キャッシュ局所性 により圧縮および展開の速度はわずかに向上し、メモリ使用量は削減されます。
圧縮用のブロック (バイトで構成されるメモリの chunk) と、クエリ処理用のブロック (テーブルの行の集合) を混同しないでください。
max_consume_snapshots
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.5 | 0 | 新しい設定 |
1 回のインクリメンタル読み取りで消費する Paimon スナップショットの最大数。0 は無制限を意味します。
max_estimated_execution_time
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.1 | 0 | max_execution_time と max_estimated_execution_time を分離 |
秒単位で指定する、クエリの推定実行時間の上限です。各データブロックごとに、
timeout_before_checking_execution_speed
が経過した時点でチェックされます。
max_expanded_ast_elements
別名とアスタリスクを展開した後のクエリ構文木の最大サイズ (ノード数) 。
max_fetch_partition_retries_count
別のホストからパーティションをフェッチする際の再試行回数。
max_final_threads
FINAL 修飾子を使用する SELECTクエリのデータ読み取りフェーズにおける、並列スレッドの最大数を設定します。
設定可能な値:
- 正の整数。
- 0 または 1 — 無効。
SELECTクエリは単一スレッドで実行されます。
max_http_get_redirects
許可される HTTP GET リダイレクトの最大ホップ数です。悪意のあるサーバーによって、リクエストが想定外のサービスへリダイレクトされるのを防ぐための追加のセキュリティ対策です。\n\nこれは、外部サーバーが別のアドレスにリダイレクトし、そのアドレスが社内のインフラストラクチャ内にあるように見える場合に起こりえます。このとき、内部サーバーに HTTP リクエストを送ることで、認証を回避して内部ネットワーク上の内部 API にアクセスしたり、Redis や Memcached などの別のサービスに問い合わせたりできてしまう可能性があります。内部インフラストラクチャ (localhost 上で動作しているものを含む) が存在しない場合、またはそのサーバーを信頼している場合は、リダイレクトを許可しても安全です。ただし、URL が HTTPS ではなく HTTP を使用している場合は、リモートサーバーだけでなく、ISP や通信経路上にあるすべてのネットワークも信頼する必要がある点に注意してください。
Cloud でのデフォルト値: 10.
max_limit_for_vector_search_queries
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | 1000 | 新しい設定 |
LIMIT がこの設定値を超える SELECT クエリでは、ベクトル類似度索引を使用できません。ベクトル類似度索引でのメモリオーバーフローの防止に役立ちます。
max_os_cpu_wait_time_ratio_to_throw
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.5 | 0 | 設定値が変更され、25.4 にバックポート |
| 25.4 | 0 | 新しい設定 |
クエリを拒否するかどうかを判断するための、OS CPU の待機時間 (OSCPUWaitMicroseconds メトリクス) とビジー時間 (OSCPUVirtualTimeMicroseconds メトリクス) の最大比率。確率の計算には最小比率と最大比率の間で線形補間が使用され、この値では確率は 1 になります。
max_parallel_replicas
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.1 | 1000 | デフォルトでは、最大1000個の並列レプリカを使用します。 |
クエリの実行時に、各分片で使用するレプリカの最大数です。
設定可能な値:
- 正の整数。
追加情報
このオプションでは、使用する設定によって結果が異なる場合があります。
SAMPLE キーを使用した並列処理
クエリは、複数のサーバーで並列に実行することで、より高速に処理できる場合があります。ただし、次のような場合はクエリパフォーマンスが低下する可能性があります。
- パーティション化キー内でのサンプリングキーの位置によっては、効率的な範囲スキャンができません。
- テーブルにサンプリングキーを追加すると、他のカラムでのフィルタリング効率が低下します。
- サンプリングキーが、計算コストの高い式である場合。
- クラスターのレイテンシ分布にロングテールがあると、より多くのサーバーにクエリすることで、クエリ全体のレイテンシが増加します。
parallel_replicas_custom_keyを使用した並列処理
この設定は、あらゆるレプリケートテーブルで有用です。
max_parsing_threads
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.4 | 0 | ファイルの並列パース時のスレッド数を制御する個別の設定を追加 |
並列パースに対応した入力フォーマットでデータをパースする際の最大スレッド数です。デフォルトでは自動的に決定されます。
max_partition_size_to_drop
クエリ時にパーティションを削除する際の制限です。値 0 は、パーティションを制限なく削除できることを意味します。
Cloud でのデフォルト値: 1 TB。
max_parts_to_move
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.10 | 1000 | 新しい設定 |
1回のクエリで移動できるパーツ数を制限します。0 は無制限を意味します。
max_projection_rows_to_use_projection_index
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.11 | 1000000 | 新しい設定 |
プロジェクション索引から読み取る行数がこのしきい値以下の場合、ClickHouse はクエリ実行時にプロジェクション索引の適用を試みます。
max_query_size
SQL パーサーが解析するクエリ文字列の最大バイト数です。 INSERT クエリの VALUES 句内のデータは、別個のストリームパーサー (O(1) の RAM を使用) によって処理されるため、この制限の影響を受けません。
max_recursive_cte_evaluation_depth
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 24.4 | 1000 | 再帰CTEの評価深さの上限値 |
再帰CTEの評価深さの上限値
max_replica_delay_for_distributed_queries
分散クエリで、遅延しているレプリカを使用しないようにします。レプリケーション を参照してください。
時間を秒単位で設定します。レプリカの遅延が設定した値以上の場合、そのレプリカは使用されません。
設定可能な値:
- 正の整数。
- 0 — レプリカの遅延はチェックされません。
ゼロ以外の遅延があるレプリカを一切使用しないようにするには、このパラメータを 1 に設定します。
レプリケートテーブルを参照する分散テーブルに対して SELECT を実行する際に使用されます。
max_reverse_dictionary_lookup_cache_size_bytes
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 25.12 | 104857600 | 新しい設定。関数 `dictGetKeys` が使用する、クエリごとの逆引き Dictionary ルックアップキャッシュの最大サイズ(バイト単位)。このキャッシュには、同じクエリ内で Dictionary を再スキャンしないよう、属性値ごとにシリアライズされたキー Tuple が保存されます。 |
関数 dictGetKeys が使用する、クエリごとの逆引き Dictionary ルックアップキャッシュの最大サイズ (バイト単位) 。このキャッシュには、同じクエリ内で Dictionary を再スキャンしないよう、属性値ごとにシリアライズされたキー Tuple が保存されます。上限に達すると、エントリは LRU 方式で追い出されます。キャッシュを無効にするには 0 に設定します。
max_sessions_for_user
ClickHouse server で、認証済みユーザーごとに同時に使用できるセッションの最大数です。
例:
<profiles>
<single_session_profile>
<max_sessions_for_user>1</max_sessions_for_user>
</single_session_profile>
<two_sessions_profile>
<max_sessions_for_user>2</max_sessions_for_user>
</two_sessions_profile>
<unlimited_sessions_profile>
<max_sessions_for_user>0</max_sessions_for_user>
</unlimited_sessions_profile>
</profiles>
<users>
<!-- User Alice can connect to a ClickHouse server no more than once at a time. -->
<Alice>
<profile>single_session_user</profile>
</Alice>
<!-- User Bob can use 2 simultaneous sessions. -->
<Bob>
<profile>two_sessions_profile</profile>
</Bob>
<!-- User Charles can use arbitrarily many of simultaneous sessions. -->
<Charles>
<profile>unlimited_sessions_profile</profile>
</Charles>
</users>設定可能な値:
- 正の整数
0- 同時セッション数は無制限 (デフォルト)
max_subquery_depth
クエリ内でネストされたサブクエリの数が指定した値を超えると、 例外をスローします。
max_table_size_to_drop
クエリ実行時にテーブルを削除する際の制限です。値 0 は、すべてのテーブルを制限なく削除できることを意味します。
Cloud でのデフォルト値: 1 TB。
max_untracked_memory
小さな割り当てと解放はスレッドローカル変数にまとめて保持され、量 (絶対値) が指定した値を超えた場合にのみ追跡またはプロファイリングされます。値が memory_profiler_step より大きい場合は、実質的に memory_profiler_step に引き下げられます。
max_wkb_geometry_elements
バージョン履歴
| バージョン | デフォルト値 | コメント |
|---|---|---|
| 26.4 | 1000000 | 不正なデータによる過剰なメモリ割り当てを防ぐため、WKB ジオメトリのパース時の要素数を制限する新しい設定。 |
readWKB および関連関数でパースする際、単一の WKB ジオメトリ要素内で許可される Point、Ring、または Polygon の最大数です。これにより、不正な WKB データによる過剰なメモリ割り当てを防ぎます。ハードコードされた上限 (1 億) を使用するには、0 に設定します。