Эти настройки доступны в system.settings и автоматически генерируются на основе исходного файла.
optimize_rewrite_aggregate_function_with_if
Переписывает агрегатные функции, у которых аргументом является выражение if, если они логически эквивалентны.
Например, avg(if(cond, col, null)) можно переписать в avgOrNullIf(cond, col). Это может повысить производительность.
optimize_rewrite_array_exists_to_has
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.4 | 1 | По умолчанию включена оптимизация переписывания arrayExists в has, так как перед переписыванием теперь проверяется совместимость типов. |
Переписывать функции arrayExists() в has(), когда они логически эквивалентны. Например, arrayExists(x -> x = 1, arr) можно переписать в has(arr, 1)
optimize_rewrite_has_to_in
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 26.6 | 1 | новая настройка |
Переписывает функции has в IN, если первый аргумент — константный массив. Например, has([1, 2, 3], x) можно переписать как x IN [1, 2, 3] для повышения производительности при использовании константных массивов
optimize_rewrite_like_perfect_affix
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.10 | 1 | новая настройка |
Переписывает выражения LIKE с точным префиксом или суффиксом (например, col LIKE 'ClickHouse%') в вызовы функций startsWith или endsWith (например, startsWith(col, 'ClickHouse')).
optimize_rewrite_regexp_functions
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 25.8 | 1 | Новая настройка |
Переписывает функции, связанные с регулярными выражениями, в более простые и эффективные формы
optimize_rewrite_sum_if_to_count_if
История версий
| Версия | Значение по умолчанию | Комментарий |
|---|---|---|
| 24.4 | 1 | Доступно только для анализатора, в котором это работает корректно |
Переписывает функции sumIf() и sum(if()) в функцию countIf(), когда они логически эквивалентны