Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

configurações de sessão prefer_*

Essas configurações estão disponíveis em system.settings e são geradas automaticamente a partir do código-fonte.

prefer_column_name_to_alias

Tipo
Bool
Padrão
0

Habilita ou desabilita o uso dos nomes originais das colunas em vez de aliases em expressões e cláusulas de consulta. Isso é especialmente relevante quando o alias é igual ao nome da coluna; veja Expression Aliases. Habilite essa configuração para tornar as regras de sintaxe de aliases no ClickHouse mais compatíveis com a maioria dos outros motores de banco de dados.

Possíveis valores:

  • 0 — O nome da coluna é substituído pelo alias.
  • 1 — O nome da coluna não é substituído pelo alias.

Exemplo

A diferença entre habilitado e desabilitado:

Consulta:

SET prefer_column_name_to_alias = 0;
SELECT avg(number) AS number, max(number) FROM numbers(10);

Resultado:

Received exception from server (version 21.5.1):
Code: 184. DB::Exception: Received from localhost:9000. DB::Exception: Aggregate function avg(number) is found inside another aggregate function in query: While processing avg(number) AS number.

Consulta:

SET prefer_column_name_to_alias = 1;
SELECT avg(number) AS number, max(number) FROM numbers(10);

Resultado:

┌─number─┬─max(number)─┐
│    4.5 │           9 │
└────────┴─────────────┘

prefer_external_sort_block_bytes

Tipo
UInt64
Padrão
16744704
Histórico de versões
VersãoValor padrãoComentário
24.516744704Prioriza o número máximo de bytes por bloco na ordenação externa, reduzindo o uso de memória durante a mesclagem.

Prioriza o número máximo de bytes por bloco na ordenação externa, reduzindo o uso de memória durante a mesclagem.

prefer_global_in_and_join

Tipo
Bool
Padrão
0

Habilita a substituição dos operadores IN/JOIN por GLOBAL IN/GLOBAL JOIN.

Valores possíveis:

  • 0 — Desabilitado. Os operadores IN/JOIN não são substituídos por GLOBAL IN/GLOBAL JOIN.
  • 1 — Habilitado. Os operadores IN/JOIN são substituídos por GLOBAL IN/GLOBAL JOIN.

Uso

Embora SET distributed_product_mode=global possa alterar o comportamento das consultas para as tabelas distribuídas, ele não é adequado para tabelas locais nem para tabelas de fontes externas. É nesse ponto que a configuração prefer_global_in_and_join entra em ação.

Por exemplo, temos nós que processam consultas e contêm tabelas locais, que não são adequadas para distribuição. Precisamos distribuir seus dados dinamicamente durante o processamento distribuído com a palavra-chave GLOBALGLOBAL IN/GLOBAL JOIN.

Outro caso de uso de prefer_global_in_and_join é acessar tabelas criadas por motores externos. Essa configuração ajuda a reduzir o número de chamadas a fontes externas ao fazer JOIN dessas tabelas: apenas uma chamada por consulta.

Veja também:

prefer_localhost_replica

Tipo
Bool
Padrão
1

Ativa/desativa o uso preferencial da réplica localhost ao processar consultas distribuídas.

Valores possíveis:

  • 1 — o ClickHouse sempre envia uma consulta para a réplica localhost, se ela existir.
  • 0 — o ClickHouse usa a estratégia de balanceamento especificada na configuração load_balancing.

prefer_warmed_unmerged_parts_seconds

Somente no ClickHouse Cloud
Tipo
Int64
Padrão
0

Só tem efeito no ClickHouse Cloud. Se uma parte mesclada tiver menos do que essa quantidade de segundos e não estiver pré-aquecida (consulte cache_populated_by_fetch), mas todas as suas partes de origem estiverem disponíveis e pré-aquecidas, as consultas SELECT serão lidas dessas partes. Apenas para Replicated-/SharedMergeTree. Observe que isso verifica apenas se o CacheWarmer processou a parte; se a parte tiver sido carregada no cache por outro mecanismo, ela ainda será considerada fria até que o CacheWarmer a processe; se tiver sido aquecida e depois removida do cache, ainda será considerada aquecida.

Navigation