メインコンテンツへスキップ

概要

ClickHouse では、設定の一部として、 クエリの複雑さに制限を設けることができます。これにより、 リソースを大量に消費する可能性のあるクエリから保護し、より安全で予測可能な 実行を実現できます。特に、ユーザーインターフェイスを使用する場合に有効です。 これらの制限のほとんどは SELECT クエリにのみ適用され、分散 クエリ処理では、各サーバーに個別に適用されます。 ClickHouse では通常、各行ごとに制限を確認するのではなく、データパーツが 完全に処理された後でのみ制限を確認します。このため、 パーツの処理中に制限を超過してしまう 可能性があります。

overflow_mode 設定

ほとんどの制限には overflow_mode 設定もあり、制限を超えたときにどうなるかを定義します。指定できる値は次の 2 つです:
  • throw: 例外をスローします (デフォルト) 。
  • break: クエリの実行を停止し、部分的な結果を返します。これは、 入力データが尽きた場合と同じです。

group_by_overflow_mode の設定

group_by_overflow_mode 設定には、 値 any もあります。
  • any : セットに入ったキーについては集約を継続しますが、 セットに新しいキーは追加しません。

設定一覧

以下の設定は、クエリの複雑さに関する制限を適用するために使用されます。
「何らかの最大量」に対する制限には、0 を指定できます。 これは「無制限」を意味します。

廃止された設定

以下の設定は廃止されています。

max_pipeline_depth

パイプラインの最大深度。各データブロックがクエリ処理中に通過する 変換の数に対応します。単一サーバーの範囲内でカウントされます。 パイプラインの深度がこれを超えると、例外がスローされます。
最終更新日 2026年7月2日