Ces paramètres sont disponibles dans system.settings et sont générés automatiquement à partir du source.
optimize_rewrite_aggregate_function_with_if
Réécrit les fonctions d’agrégation dont l’argument est une expression if, lorsqu’elles sont logiquement équivalentes.
Par exemple, avg(if(cond, col, null)) peut être réécrit en avgOrNullIf(cond, col). Cela peut améliorer les performances.
optimize_rewrite_array_exists_to_has
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 26.4 | 1 | Active par défaut l’optimisation de réécriture de arrayExists vers has, maintenant que la compatibilité des types est vérifiée avant la réécriture. |
Réécrit les fonctions arrayExists() en has() lorsqu’elles sont logiquement équivalentes. Par exemple, arrayExists(x -> x = 1, arr) peut être réécrit en has(arr, 1)
optimize_rewrite_has_to_in
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 26.6 | 1 | Nouveau paramètre |
Réécrit les fonctions has en IN lorsque le premier argument est un tableau constant. Par exemple, has([1, 2, 3], x) peut être réécrit en x IN [1, 2, 3] afin d'améliorer les performances avec des tableaux constants
optimize_rewrite_like_perfect_affix
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 25.10 | 1 | Nouveau paramètre |
Réécrit les expressions LIKE avec un préfixe ou un suffixe exact (par ex. col LIKE 'ClickHouse%') en fonctions startsWith ou endsWith (par ex. startsWith(col, 'ClickHouse')).
optimize_rewrite_regexp_functions
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 25.8 | 1 | Nouveau paramètre |
Réécrit les fonctions liées aux expressions régulières sous une forme plus simple et plus efficace
optimize_rewrite_sum_if_to_count_if
Historique des versions
| Version | Valeur par défaut | Commentaire |
|---|---|---|
| 24.4 | 1 | Disponible uniquement pour l’analyseur, où il fonctionne correctement |
Réécrit les fonctions sumIf() et sum(if()) en countIf() lorsqu’elles sont logiquement équivalentes