Estas configuraciones están disponibles en system.settings y se autogeneran a partir del código fuente.
optimize_rewrite_aggregate_function_with_if
Reescribe las funciones de agregación con una expresión if como argumento cuando son lógicamente equivalentes.
Por ejemplo, avg(if(cond, col, null)) puede reescribirse como avgOrNullIf(cond, col). Esto puede mejorar el rendimiento.
optimize_rewrite_array_exists_to_has
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 26.4 | 1 | Habilita de forma predeterminada la optimización de reescritura de arrayExists a has, ahora que la compatibilidad de tipos se comprueba antes de reescribir. |
Reescribe las funciones arrayExists() como has() cuando sean lógicamente equivalentes. Por ejemplo, arrayExists(x -> x = 1, arr) se puede reescribir como has(arr, 1)
optimize_rewrite_has_to_in
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 26.6 | 1 | Nueva SETTING |
Reescribe las funciones has como IN cuando el primer argumento es un Array constante. Por ejemplo, has([1, 2, 3], x) puede reescribirse como x IN [1, 2, 3] para mejorar el rendimiento con Arrays constantes
optimize_rewrite_like_perfect_affix
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 25.10 | 1 | Nueva opción de SETTING |
Reescribe las expresiones LIKE con un prefijo o sufijo exacto (por ejemplo, col LIKE 'ClickHouse%') como funciones startsWith o endsWith (por ejemplo, startsWith(col, 'ClickHouse')).
optimize_rewrite_regexp_functions
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 25.8 | 1 | Nueva SETTING |
Reescribe las funciones relacionadas con expresiones regulares en formas más simples y eficientes
optimize_rewrite_sum_if_to_count_if
Historial de versiones
| Versión | Valor predeterminado | Comentario |
|---|---|---|
| 24.4 | 1 | Solo disponible para el analizador, donde funciona correctamente |
Reescribe las funciones sumIf() y sum(if()) como la función countIf() cuando son lógicamente equivalentes