optimize_aggregators_of_group_by_keys
optimize_append_index
false.
Возможные значения:
- true, false
optimize_arithmetic_operations_in_aggregate_functions
optimize_const_name_size
- положительное целое число — максимальная длина имени,
- 0 — всегда,
- отрицательное целое число — никогда.
optimize_count_from_files
file/s3/url/hdfs/azureBlobStorage.
Возможные значения:
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
optimize_dictget_tuple_element
tupleElement(dictGet('dict', ('a', 'b', 'c'), key), 2) на dictGet('dict', 'b', key), чтобы не извлекать лишние атрибуты словаря. Поддерживает позиционный (.1, .2, …) и именованный (.b) доступ, а также применяется к dictGetOrDefault, если аргумент значения по умолчанию — константный кортеж или tuple(...) из констант.
optimize_distinct_in_order
optimize_distributed_group_by_sharding_key
GROUP BY sharding_key, позволяя избежать затратной агрегации на инициирующем сервере (что уменьшает использование памяти для запроса на инициирующем сервере).
Поддерживаются следующие типы запросов (и любые их комбинации):
SELECT DISTINCT [..., ]sharding_key[, ...] FROM distSELECT ... FROM dist GROUP BY sharding_key[, ...]SELECT ... FROM dist GROUP BY sharding_key[, ...] ORDER BY xSELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1SELECT ... FROM dist GROUP BY sharding_key[, ...] LIMIT 1 BY x
SELECT ... GROUP BY sharding_key[, ...] WITH TOTALSSELECT ... GROUP BY sharding_key[, ...] WITH ROLLUPSELECT ... GROUP BY sharding_key[, ...] WITH CUBESELECT ... GROUP BY sharding_key[, ...] SETTINGS extremes=1
- 0 — Отключено.
- 1 — Включено.
Сейчас требуется
optimize_skip_unused_shards (это связано с тем, что в будущем данный параметр может быть включен по умолчанию, и корректно он будет работать только в том случае, если данные были вставлены через distributed таблицу, то есть распределены в соответствии с sharding_key).optimize_dry_run_check_part
OPTIMIZE ... DRY RUN проверяет получившуюся слитую часть с помощью checkDataPart. Если проверка не проходит, генерируется исключение.
optimize_empty_string_comparisons
optimize_extract_common_expressions
(A AND B) OR (A AND C) можно переписать как A AND (B OR C), что может помочь использовать:
- индексы в простых выражениях фильтрации
- оптимизацию преобразования CROSS JOIN в INNER JOIN
optimize_functions_to_subcolumns
- length для чтения подстолбца size0.
- empty для чтения подстолбца size0.
- notEmpty для чтения подстолбца size0.
- isNull для чтения подстолбца null.
- isNotNull для чтения подстолбца null.
- count для чтения подстолбца null.
- mapKeys для чтения подстолбца keys.
- mapValues для чтения подстолбца values.
- 0 — Оптимизация отключена.
- 1 — Оптимизация включена.
optimize_inverse_dictionary_lookup
optimize_multiif_to_if
optimize_normalize_count_variants
optimize_on_insert
- 0 — Отключено.
- 1 — Включено.
optimize_prewhere_after_pushdown
PREWHERE после того, как более поздние оптимизации плана запроса
могли добавить дополнительные фильтры выше шага чтения MergeTree (например, pushdown предикатов через
JOIN, переписывание projection). Если PREWHERE уже есть, новый
фильтр объединяется с ним через AND, а не остаётся отдельным шагом фильтрации.
optimize_qbit_distance_function_reads
QBit на эквивалентные, которые считывают из хранилища только столбцы, необходимые для вычисления.
optimize_read_in_order
- 0 — оптимизация
ORDER BYотключена. - 1 — оптимизация
ORDER BYвключена.
optimize_respect_aliases
optimize_sorting_by_input_stream_properties
optimize_substitute_columns
false.
Возможные значения:
- true, false
optimize_syntax_fuse_functions
- 0 — Функции с одинаковым аргументом не объединяются.
- 1 — Функции с одинаковым аргументом объединяются.
optimize_throw_if_noop
OPTIMIZE завершается успешно, даже если фактически ничего не делает. Этот параметр позволяет различать такие ситуации и получать причину в сообщении об исключении.
Возможные значения:
- 1 — Генерация исключения включена.
- 0 — Генерация исключения отключена.
optimize_time_filter_with_preimage
toYear(col) = 2023 -> col >= '2023-01-01' AND col <= '2023-12-31')
optimize_truncate_order_by_after_group_by_keys
optimize_uniq_to_count
optimize_using_constraints
false.
Возможные значения:
- true, false