简介
在 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');