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

クォータとクエリ複雑度について

クォータクエリ複雑度 は、ClickHouse でユーザーが実行できる操作を制限するための強力な手段です。 クォータは一定の時間インターバル内で制限を適用しますが、クエリ複雑度は時間インターバルに関係なく適用されます。 この KB 記事では、これら 2 つの異なるアプローチの適用例を紹介します。

サンプルデータ

これらの例では、次のシンプルなサンプルテーブルを使用します。

クォータを使用する

この例では、10 秒ごとに取得できる結果行を 10 行までに制限する Quota を適用するロールを作成します。
次に、user_with_quota ユーザーとしてログインします
ユーザーが新たに10行の結果セットの「割り当て枠」を取得できるようになるまで、さらに5秒待つ必要がある点に注意してください。

クエリ複雑度を使用する

この例では、各クエリで返される行数を 1 行のみに制限する クエリ複雑度 SETTING を適用するロールを作成します。
次に、ユーザー user_with_query_complexity としてログインします:
結果セットから2行以上を取得しようとすると、クエリ複雑度の制約が適用されます。
最終更新日 2026年6月12日