prefer_column_name_to_alias
- 0 — 列名会被替换为别名。
- 1 — 列名不会被替换为别名。
prefer_external_sort_block_bytes
prefer_global_in_and_join
IN/JOIN 运算符替换为 GLOBAL IN/GLOBAL JOIN。
可能的值:
- 0 — 已禁用。
IN/JOIN运算符不会被替换为GLOBAL IN/GLOBAL JOIN。 - 1 — 已启用。
IN/JOIN运算符会被替换为GLOBAL IN/GLOBAL JOIN。
SET distributed_product_mode=global 可以改变分布式表的查询行为,但它不适用于本地表或来自外部资源的表。这正是 prefer_global_in_and_join 设置发挥作用的时候。
例如,我们有一些提供查询服务的节点,其中包含本地表,而这些表不适合做分布式处理。我们需要在分布式处理中使用 GLOBAL 关键字——GLOBAL IN/GLOBAL JOIN——动态地将这些数据分发出去。
prefer_global_in_and_join 的另一个用例是访问由 external engine 创建的表。此设置有助于在连接这类表时减少对外部数据源的调用次数:每个查询只调用一次。
另请参阅:
- 分布式子查询,了解有关如何使用
GLOBAL IN/GLOBAL JOIN的更多信息
prefer_localhost_replica
- 1 — 如果存在 localhost 副本,ClickHouse 始终将查询发送到该副本。
- 0 — ClickHouse 使用 load_balancing 设置指定的负载均衡策略。
如果你使用 max_parallel_replicas 而未使用 parallel_replicas_custom_key,请禁用此设置。
如果设置了 parallel_replicas_custom_key,则仅当它用于包含多个 сегмент 且每个 сегмент 都包含多个副本的集群时,才应禁用此设置。
如果它用于只有单个 сегмент 但包含多个副本的集群,禁用此设置会带来负面影响。