prefer_column_name_to_alias
Включает или отключает использование исходных имен столбцов вместо псевдонимов в выражениях запроса и секциях. Это особенно важно, когда псевдоним совпадает с именем столбца, см. Псевдонимы выражений. Включите этот параметр, чтобы правила синтаксиса псевдонимов в ClickHouse лучше соответствовали правилам большинства других движков баз данных. Возможные значения:- 0 — Имя столбца заменяется псевдонимом.
- 1 — Имя столбца не заменяется псевдонимом.
id в id AS x является столбцом и t1, и t3, поэтому он разрешается в псевдоним t1.id + 10.
Пример
Разница между включенным и выключенным состоянием:
Запрос:
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 — доступ к таблицам, созданным с помощью внешних движков. Эта настройка помогает сократить количество обращений к внешним источникам при JOIN таких таблиц: до одного вызова на запрос.
См. также:
- Распределённые подзапросы — дополнительная информация об использовании
GLOBAL IN/GLOBAL JOIN
prefer_localhost_replica
Включает или отключает предпочтительное использование реплики на localhost при обработке распределённых запросов. Возможные значения:- 1 — ClickHouse всегда отправляет запрос реплике на localhost, если она существует.
- 0 — ClickHouse использует стратегию балансировки, указанную в настройке load_balancing.
Отключите эту настройку, если используете max_parallel_replicas без parallel_replicas_custom_key.
Если задан parallel_replicas_custom_key, отключайте эту настройку только в том случае, если она используется в кластере с несколькими сегментами, содержащими несколько реплик.
Если она используется в кластере с одним сегментом и несколькими репликами, отключение этой настройки приведёт к нежелательным последствиям.
prefer_optimize_projection
Заставляет оптимизацию проекций отдавать предпочтение проекциям, а не самой таблице, в запросахSELECT, если оптимизация проекций включена (см. настройку optimize_use_projections).
Если настройка включена, проекция, способная обслужить запрос, используется даже тогда, когда для этого требуется прочитать больше marks, чем при чтении самой таблицы — так же, как при force_optimize_projection, но запрос не завершается ошибкой, если ни одна проекция не может быть использована.
Возможные значения:
- 0 — проекции выбираются по их оценочной стоимости.
- 1 — подходящая проекция выбирается независимо от её оценочной стоимости.