group_by_overflow_mode
throw: lanzar una excepciónbreak: dejar de ejecutar la consulta y devolver el resultado parcialany: continuar la agregación para las claves que entraron en el conjunto, pero sin añadir nuevas claves al conjunto.
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization: número de filas que cada flujo de agregación observa antes de congelar un heap top-K lleno que descartó menos del 10 % de las filas de entrada y expulsó menos claves que su capacidad. Un heap congelado implica que la agregación continúa como si la optimización estuviera deshabilitada.
La ventana efectiva es de al menos el doble del tamaño reservado del heap, por lo que un heap siempre tiene la oportunidad de llenarse antes de evaluarse. 0 deshabilita esta congelación (el heap se sigue congelando cuando un conjunto de empates en el límite crece demasiado).
Esto no afecta a las consultas GROUP BY keys LIMIT K sin ORDER BY, en las que la congelación siempre está deshabilitada: el plan para esta estructura contiene una ordenación generada automáticamente que solo compensa mientras el heap limita la tabla hash, por lo que congelarlo dejaría un plan más lento que el no optimizado.
group_by_two_level_threshold
group_by_two_level_threshold_bytes
group_by_use_nulls
ROLLUP, CUBE o GROUPING SETS, puede que algunas claves de agregación no se utilicen para generar determinadas filas de resultado.
Las columnas de estas claves se rellenan con el valor predeterminado o con NULL en las filas correspondientes, según esta configuración.
Valores posibles:
- 0 — Se usa el valor predeterminado del tipo de clave de agregación para generar los valores ausentes.
- 1 — ClickHouse ejecuta
GROUP BYtal como lo define el estándar SQL. Los tipos de las claves de agregación se convierten en Nullable. Las columnas de las claves de agregación correspondientes se rellenan con NULL en las filas en las que no se usaron.