group_by_overflow_mode
throw: gera uma exceçãobreak: interrompe a execução da consulta e retorna o resultado parcialany: continua a agregação para as chaves que entraram no conjunto, mas não adiciona novas chaves ao conjunto.
any permite executar uma aproximação de GROUP BY. A qualidade dessa
aproximação depende da natureza estatística dos dados.
group_by_top_k_optimization_observation_rows
enable_group_by_top_k_optimization: o número de linhas que cada fluxo de agregação observa antes de congelar um heap top-K cheio que ignorou menos de 10% das linhas de entrada e removeu menos chaves do que sua capacidade. Um heap congelado significa que a agregação continua como se a otimização estivesse desabilitada.
A janela efetiva é de pelo menos o dobro do tamanho reservado do heap, para que ele sempre tenha a chance de ser preenchido antes de ser avaliado. 0 desabilita esse congelamento (o heap ainda é congelado quando um conjunto de empates na fronteira cresce além da sua capacidade).
Isso não tem efeito em consultas GROUP BY keys LIMIT K sem ORDER BY, nas quais o congelamento está sempre desabilitado: o plano desse formato contém uma ordenação gerada automaticamente que só compensa enquanto o heap limita a tabela hash; portanto, congelar o heap deixaria o plano mais lento do que o plano sem otimização.
group_by_two_level_threshold
group_by_two_level_threshold_bytes
group_by_use_nulls
ROLLUP, CUBE ou GROUPING SETS são usados, algumas chaves de agregação podem não ser usadas na produção de determinadas linhas de resultado.
As colunas dessas chaves são preenchidas com o valor padrão ou com NULL nas linhas correspondentes, dependendo dessa configuração.
Valores possíveis:
- 0 — O valor padrão do tipo da chave de agregação é usado para preencher valores ausentes.
- 1 — O ClickHouse executa
GROUP BYda mesma forma que o padrão SQL define. Os tipos das chaves de agregação são convertidos para Nullable. As colunas das chaves de agregação correspondentes são preenchidas com NULL nas linhas em que elas não foram usadas.