Эти настройки доступны в system.settings и автоматически генерируются на основе исходного кода.
force_aggregate_partitions_independently
Принудительно включает оптимизацию, когда она применима, но эвристика решает её не использовать
force_aggregation_in_order
Этот параметр используется самим сервером для поддержки распределённых запросов. Не изменяйте его вручную, так как это нарушит штатную работу. (Принудительно включает агрегацию in order на удалённых узлах при распределённой агрегации).
force_creating_set_partitions_independently
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая настройка для принудительной предварительной дедупликации по партициям при построении набора для `IN (subquery)`, даже если проверка перекоса партиций не позволила бы её выполнить. |
Принудительно выполняет предварительную дедупликацию по партициям при построении набора для IN (subquery), если она применима, но проверка перекоса партиций (наибольшая партиция более чем вдвое превышает среднее) решила её не использовать. Обходит только проверку перекоса настройки allow_creating_set_partitions_independently; остальные условия по-прежнему применяются.
force_data_skipping_indices
Отключает выполнение запроса, если указанные индексы пропуска данных не использовались.
Рассмотрим следующий пример:
CREATE TABLE data
(
key Int,
d1 Int,
d1_null Nullable(Int),
INDEX d1_idx d1 TYPE minmax GRANULARITY 1,
INDEX d1_null_idx assumeNotNull(d1_null) TYPE minmax GRANULARITY 1
)
Engine=MergeTree()
ORDER BY key;
SELECT * FROM data_01515;
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices=''; -- query will produce CANNOT_PARSE_TEXT error.
SELECT * FROM data_01515 SETTINGS force_data_skipping_indices='d1_idx'; -- query will produce INDEX_NOT_USED error.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='d1_idx'; -- Ok.
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`'; -- Ok (example of full featured parser).
SELECT * FROM data_01515 WHERE d1 = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- query will produce INDEX_NOT_USED error, since d1_null_idx is not used.
SELECT * FROM data_01515 WHERE d1 = 0 AND assumeNotNull(d1_null) = 0 SETTINGS force_data_skipping_indices='`d1_idx`, d1_null_idx'; -- Ok.force_distinct_partitions_independently
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая настройка, принудительно включающая независимую обработку `DISTINCT` для каждой партиции, даже если эвристика стоимости её пропустила бы. |
Принудительно включает независимую обработку DISTINCT для каждой партиции, если она применима, но эвристика стоимости решила её не использовать. Обходит только эвристику стоимости allow_distinct_partitions_independently; остальные условия по-прежнему действуют.
force_grouping_standard_compatibility
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 22.9 | 1 | Функция GROUPING возвращает тот же результат, что и в стандарте SQL и других СУБД |
Функция GROUPING возвращает 1, если аргумент не используется в качестве ключа агрегации
force_index_by_date
Отключает выполнение запроса, если индекс по дате нельзя использовать.
Работает с таблицами семейства MergeTree.
Если force_index_by_date=1, ClickHouse проверяет, есть ли в запросе условие по ключу даты, которое можно использовать для ограничения диапазонов данных. Если подходящего условия нет, генерируется исключение. Однако не проверяется, уменьшает ли это условие объём данных для чтения. Например, условие Date != ' 2000-01-01 ' допустимо, даже если ему соответствуют все данные в таблице (то есть для выполнения запроса требуется полное сканирование). Дополнительные сведения о диапазонах данных в таблицах семейства MergeTree см. в разделе MergeTree.
force_primary_key
Отключает выполнение запроса, если использование первичного ключа для индексирования невозможно.
Работает с таблицами семейства MergeTree.
Если force_primary_key=1, ClickHouse проверяет, есть ли в запросе условие по первичному ключу, которое можно использовать для ограничения диапазонов данных. Если подходящего условия нет, генерируется исключение. Однако при этом не проверяется, уменьшает ли это условие объём данных для чтения. Дополнительные сведения о диапазонах данных в таблицах семейства MergeTree см. в разделе MergeTree.
force_read_through_distributed_cache
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.9 | auto | Новая настройка, переопределяющая настройку сервера `enable_read_through_distributed_cache` для отдельного запроса. |
| 26.8 | auto | Новая настройка, переопределяющая настройку сервера `enable_read_through_distributed_cache` для отдельного запроса. |
Действует только в ClickHouse Cloud. Переопределяет настройку сервера enable_read_through_distributed_cache для отдельного запроса. auto (значение по умолчанию) означает, что используется настройка сервера.
force_remove_data_recursively_on_drop
Рекурсивно удаляет данные при выполнении запроса DROP. Позволяет избежать ошибки 'Каталог не пуст', но может незаметно удалить данные в состоянии detached
force_window_partitions_independently
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.8 | 0 | Новая настройка, принудительно включающая независимое вычисление оконных функций для каждой партиции, даже если эвристика стоимости его пропускает. |
Принудительно включает независимое вычисление оконных функций для каждой партиции, если это применимо, но эвристика стоимости решила его не использовать. Обходит только эвристику стоимости allow_window_partitions_independently; остальные условия по-прежнему применяются.
force_write_through_distributed_cache
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.9 | auto | Новая настройка, переопределяющая настройку сервера `enable_write_through_distributed_cache` для отдельного запроса. |
| 26.8 | auto | Новая настройка, переопределяющая настройку сервера `enable_write_through_distributed_cache` для отдельного запроса. |
Действует только в ClickHouse Cloud. Переопределяет настройку сервера enable_write_through_distributed_cache для отдельного запроса. auto (значение по умолчанию) означает, что используется настройка сервера.