Skip to main content
Эти настройки доступны в system.settings и автоматически генерируются на основе исходного файла.

optimize_rewrite_aggregate_function_with_if

Переписывает агрегатные функции, у которых аргументом является выражение if, если они логически эквивалентны. Например, avg(if(cond, col, null)) можно переписать в avgOrNullIf(cond, col). Это может повысить производительность.

optimize_rewrite_array_exists_to_has

Переписывать функции arrayExists() в has(), когда они логически эквивалентны. Например, arrayExists(x -> x = 1, arr) можно переписать в has(arr, 1)

optimize_rewrite_array_filter_length_to_array_count

Переписывает length(arrayFilter(func, arr)) в arrayCount(func, arr). arrayFilter строит массив из подходящих элементов лишь для того, чтобы length его тут же отбросила, тогда как arrayCount просто подсчитывает их.

optimize_rewrite_has_to_in

Переписывает функции has в IN, если первый аргумент — константный массив. Например, has([1, 2, 3], x) можно переписать как x IN [1, 2, 3] для повышения производительности при использовании константных массивов

optimize_rewrite_like_perfect_affix

Переписывает выражения LIKE с точным префиксом или суффиксом (например, col LIKE 'ClickHouse%') в вызовы функций startsWith или endsWith (например, startsWith(col, 'ClickHouse')).

optimize_rewrite_regexp_functions

Переписывает функции, связанные с регулярными выражениями, в более простые и эффективные формы

optimize_rewrite_sum_if_to_count_if

Переписывает функции sumIf() и sum(if()) в функцию countIf(), когда они логически эквивалентны
Последнее изменение 26 сентября 2026 г.