group_by_overflow_mode
throw: lever une exceptionbreak: arrêter l’exécution de la requête et renvoyer un résultat partielany: poursuivre l’agrégation pour les clés déjà présentes dans l’ensemble, sans y ajouter de nouvelles clés.
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization : nombre de lignes que chaque flux d’agrégation observe avant de figer un tas top-K plein qui a ignoré moins de 10 % des lignes en entrée et évincé moins de clés que sa capacité. Un tas figé signifie que l’agrégation se poursuit comme si l’optimisation était désactivée.
La fenêtre effective est au moins égale à deux fois la taille réservée du tas, afin qu’il ait toujours la possibilité de se remplir avant d’être évalué. 0 désactive ce gel (le tas est néanmoins figé lorsqu’un ensemble d’égalités à la limite devient trop grand).
Cela n’a aucun effet sur les requêtes GROUP BY keys LIMIT K sans ORDER BY, pour lesquelles le gel est toujours désactivé : le plan associé à cette forme contient un tri synthétisé qui n’est rentable que tant que le tas limite la taille de la table de hachage ; figer le tas produirait donc un plan plus lent que celui sans optimisation.
group_by_two_level_threshold
group_by_two_level_threshold_bytes
group_by_use_nulls
ROLLUP, CUBE ou GROUPING SETS sont utilisés, certaines clés d’agrégation peuvent ne pas servir à produire certaines lignes de résultat.
Les colonnes correspondant à ces clés sont renseignées soit avec la valeur par défaut, soit avec NULL dans les lignes correspondantes, selon ce paramètre.
Valeurs possibles :
- 0 — La valeur par défaut du type de clé d’agrégation est utilisée pour produire les valeurs manquantes.
- 1 — ClickHouse exécute
GROUP BYconformément à la norme SQL. Les types des clés d’agrégation sont convertis en Nullable. Les colonnes correspondant à ces clés d’agrégation sont renseignées avec NULL pour les lignes qui ne les utilisent pas.