About Quotas and Query complexity
About Quotas and Query complexity
Quotas and query complexity are powerful ways to limit and restrict what users can do in ClickHouse.
Quotas do apply restrictions within the context of a time interval, while query complexity applies regardless of time intervals.
This KB article shows examples on how to apply these two different approaches.
The sample data
We refer to this simple sample table for the purpose of these examples:
Using Quotas
In this example we create a role to which we'll apply a Quota that allows only 10 result rows to be retrieved for each 10 seconds interval:
Now login as the user user_with_quota
Note that the user will need to wait another 5 seconds before can get a new 10 rows resultset "allowance".
Using Query Complexity
In this example we create a role to which we'll apply a Query Complexity SETTING
that allows only 1 rows to be returned for each query.
Now login as the user user_with_query_complexity
:
Whenever attempting to get more than 1 row in resultset the query complexity constraint will kick in.