はじめに
ClickHouse では、用途や設定を適用しておきたい期間に応じて、ユーザー設定を定義する方法がいくつかあります。いくつかのシナリオを見ていきましょう…
単一のクエリに設定を指定する
SELECTクエリには、任意の数の設定を指定できるSETTINGS句を含めることができます。これらの設定は、そのクエリに対してのみ適用されます。例えば:
SELECT *
FROM my_table
SETTINGS max_threads = 8;このクエリでは、スレッドの最大数は 8 になります。
セッションに対する設定を構成する
SET 句を使用すると、クライアントセッションの有効期間中のみ有効な設定を定義できます。これは、アドホックなテストを行う場合や、数個のクエリの実行中だけ設定を有効にし、それ以上長くは保持したくない場合に便利です。
SET max_threads = 8;
SELECT *
FROM my_table;特定のユーザーの設定を構成する
ALTER USER を使用すると、特定のユーザーに対してのみ設定を定義できます。たとえば、次のようになります。
ALTER USER my_user_name SETTINGS max_threads = 8;クライアントからログアウトして再度ログインし、その後 getSetting 関数を使用すると、正しく反映されたことを確認できます。
SELECT getSetting('max_threads');