Введение
Существует несколько способов задать SETTING для пользователя в ClickHouse — в зависимости от сценария использования и того, как долго она должна действовать. Рассмотрим несколько вариантов…
Настройка SETTING для отдельного запроса
Запрос SELECT может содержать предложение SETTINGS, в котором можно задать любое количество SETTING. Эти SETTING применяются только к этому запросу. Например:
SELECT *
FROM my_table
SETTINGS max_threads = 8;Для этого конкретного запроса максимальное количество потоков будет равно 8.
Настройка SETTING для сеанса
Вы можете задать SETTING на время действия клиентского сеанса с помощью предложения SET. Это удобно для разового тестирования или в случаях, когда нужно, чтобы SETTING действовал в течение нескольких запросов, но не дольше.
SET max_threads = 8;
SELECT *
FROM my_table;Настройте SETTING для конкретного пользователя
Используйте ALTER USER, чтобы задать SETTING только для одного пользователя. Например:
ALTER USER my_user_name SETTINGS max_threads = 8;Вы можете проверить, что всё сработало: выйдите из клиента, снова войдите в него и затем используйте функцию getSetting:
SELECT getSetting('max_threads');