prefer_column_name_to_alias
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.
id em id AS x é uma coluna tanto de t1 quanto de t3, portanto é resolvido para o alias t1.id + 10.
Exemplo
A diferença entre habilitado e desabilitado:
Consulta:
prefer_external_sort_block_bytes
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
Habilita a substituição dos operadoresIN/JOIN por GLOBAL IN/GLOBAL JOIN.
Valores possíveis:
- 0 — Desabilitado. Os operadores
IN/JOINnão são substituídos porGLOBAL IN/GLOBAL JOIN. - 1 — Habilitado. Os operadores
IN/JOINsão substituídos porGLOBAL IN/GLOBAL JOIN.
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 GLOBAL — GLOBAL 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:
- Subconsultas distribuídas para mais informações sobre como usar
GLOBAL IN/GLOBAL JOIN
prefer_localhost_replica
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.
Desative esta configuração se usar max_parallel_replicas sem parallel_replicas_custom_key.
Se parallel_replicas_custom_key estiver definida, desative esta configuração somente se ela for usada em um cluster com vários shards contendo várias réplicas.
Se ela for usada em um cluster com um único shard e várias réplicas, desativar esta configuração terá efeitos negativos.
prefer_optimize_projection
Faz com que a otimização por projeções prefira projeções em vez da tabela em consultasSELECT, quando a otimização por projeções está habilitada (veja a configuração optimize_use_projections).
Quando habilitada, uma projeção capaz de atender à consulta é utilizada mesmo que exija a leitura de mais marcas do que a própria tabela, assim como ocorre com force_optimize_projection, mas a consulta não falha quando nenhuma projeção pode ser usada.
Valores possíveis:
- 0 — As projeções são escolhidas pelo seu custo estimado.
- 1 — Uma projeção utilizável é escolhida independentemente do seu custo estimado.