Skip to main content
Estas configurações estão disponíveis em system.settings e são autogeradas com base no código-fonte.

query_plan_aggregation_in_order

Ativa/desativa a otimização de agregação em ordem no nível do plano de consulta. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de maneiras incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilitar
  • 1 - Habilitar

query_plan_convert_any_join_to_semi_or_anti_join

Permite converter ANY JOIN em SEMI JOIN ou ANTI JOIN se o filtro após o JOIN sempre resultar em false para linhas com ou sem correspondência

query_plan_convert_join_to_in

Permite converter JOIN em uma subconsulta com IN se as colunas de saída estiverem associadas apenas à tabela da esquerda. Pode causar resultados incorretos com JOINs que não sejam ANY (por exemplo, JOINs ALL, que são o padrão).

query_plan_convert_outer_join_to_inner_join

Permite converter OUTER JOIN em INNER JOIN se o filtro após JOIN sempre excluir os valores padrão

query_plan_direct_read_from_text_index

Permite executar a filtragem de busca de texto completo usando apenas o índice de texto invertido no plano de consulta.

query_plan_display_internal_aliases

Exibe aliases internos (como __table1) em EXPLAIN PLAN em vez dos especificados na consulta original.

query_plan_enable_multithreading_after_window_functions

Habilita multithreading após a avaliação de funções de janela para permitir o processamento de streams em paralelo

query_plan_enable_optimizations

Ativa ou desativa a otimização de consultas no nível do plano de consulta.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração poderá mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilita todas as otimizações no nível do plano de consulta
  • 1 - Habilita as otimizações no nível do plano de consulta (mas otimizações individuais ainda podem ser desabilitadas por meio de suas próprias configurações)

query_plan_execute_functions_after_sorting

Ativa ou desativa uma otimização no nível do plano de consulta que move expressões para depois das etapas de ordenação. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração de nível avançado que deve ser usada apenas para depuração por desenvolvedores. A configuração poderá mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilitado
  • 1 - Habilitado

query_plan_filter_push_down

Ativa ou desativa uma otimização em nível do plano de consulta que empurra os filtros para baixo no plano de execução. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas por desenvolvedores para depuração. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilita
  • 1 - Habilita

query_plan_join_shard_by_pk_ranges

Aplica sharding ao JOIN se as chaves de junção contiverem um prefixo de PRIMARY KEY em ambas as tabelas. Compatível com os algoritmos hash, parallel_hash e full_sorting_merge. Normalmente não acelera as consultas, mas pode reduzir o consumo de memória.

query_plan_join_swap_table

Define qual lado do join deve ser a tabela de build (também chamada de inner, aquela inserida na tabela hash em um hash join) no plano da consulta. Essa configuração é suportada apenas para a strictness ALL de join com a cláusula JOIN ON. Os valores possíveis são:
  • ‘auto’: Deixa o planner decidir qual tabela usar como tabela de build.
  • ‘false’: Nunca troca as tabelas (a tabela da direita é a tabela de build).
  • ‘true’: Sempre troca as tabelas (a tabela da esquerda é a tabela de build).

query_plan_lift_up_array_join

Ativa ou desativa uma otimização no nível do plano de consulta que move ARRAY JOINs para cima no plano de execução. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de maneiras incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativado
  • 1 - Ativado

query_plan_lift_up_union

Ativa ou desativa uma otimização no nível do plano de consulta que move subárvores maiores do plano de consulta para union, a fim de viabilizar outras otimizações. Só surte efeito se a configuração query_plan_enable_optimizations estiver em 1.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração poderá mudar no futuro de forma incompatível com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativado
  • 1 - Ativado

query_plan_max_limit_for_join_lazy_indexing

Controla o valor máximo de limite que permite usar o plano de consulta na otimização de lazy indexing em JOIN. Se for zero, não haverá limite.

query_plan_max_limit_for_lazy_materialization

Controla o valor máximo de LIMIT que permite usar o plano de consulta para a otimização de materialização lazy. Se for zero, não há limite.

query_plan_max_limit_for_top_k_optimization

Controla o valor máximo do limite que permite avaliar o plano de consulta para a otimização TopK usando índice de salto minmax e filtragem dinâmica por limiar. Se for zero, não haverá limite.

query_plan_max_optimizations_to_apply

Limita o número total de otimizações aplicadas ao plano da consulta; consulte a configuração query_plan_enable_optimizations. É útil para evitar tempos de otimização muito longos em consultas complexas. Na consulta EXPLAIN PLAN, a aplicação de otimizações é interrompida após esse limite ser atingido, e o plano é retornado como está. Na execução normal de consultas, se o número real de otimizações exceder essa configuração, uma exceção é lançada.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.

query_plan_max_set_size_for_projection_match

Número máximo de linhas em um conjunto da cláusula IN para o qual o mecanismo de correspondência de projeção calcula e compara hashes de conteúdo ao decidir se dois conjuntos são iguais. Conjuntos maiores que esse valor são tratados como não correspondentes e ignoram a projeção. Zero desabilita totalmente a comparação por hash de conteúdo: a correspondência de projeção nunca é bem-sucedida para nós que contêm conjuntos da cláusula IN. Usado pelo mecanismo de correspondência de projeção agregada (e por qualquer mecanismo de correspondência de projeção futuro que precise comparar conjuntos da cláusula IN). O cálculo do hash de conteúdo é O(N log N) em relação ao número de elementos do conjunto; essa configuração limita o custo incorrido durante o planejamento quando muitas cláusulas IN aparecem na consulta ou na projeção.

query_plan_max_step_description_length

Comprimento máximo da descrição da etapa no EXPLAIN PLAN.

query_plan_merge_expression_into_join

Permite mesclar expressões à etapa JOIN durante a otimização da reordenação de joins.

query_plan_merge_expressions

Ativa ou desativa uma otimização no nível do plano de consulta que mescla filtros consecutivos. Só entra em vigor se a configuração query_plan_enable_optimizations estiver definida como 1.
Esta é uma configuração para especialistas, que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilita
  • 1 - Habilita

query_plan_merge_filter_into_join_condition

Permite incorporar o filtro à condição de JOIN e converter CROSS JOIN em INNER.

query_plan_merge_filters

Permite mesclar filtros no plano de consulta.

query_plan_min_columns_for_join_lazy_indexing

Controla o número mínimo de colunas de payload do lado esquerdo necessário para ativar a otimização de lazy indexing em JOIN. 0 significa que a otimização está desativada.

query_plan_optimize_join_order_algorithm

Especifica quais algoritmos de ordem de join devem ser testados durante a otimização do plano de consulta. Os seguintes algoritmos estão disponíveis:
  • ‘greedy’ - algoritmo guloso básico - é rápido, mas pode não produzir a melhor ordem de join
  • ‘dpsize’ - implementa o algoritmo DPsize, atualmente apenas para INNER JOINs - considera todas as ordens de join possíveis e encontra a mais otimizada, mas pode ser lento para consultas com muitas tabelas e predicados de junção.
  • ‘dpsub’ - implementa o algoritmo DPsub, que oferece suporte a junções INNER e não INNER - considera todas as ordens de join possíveis e encontra a mais otimizada, mas pode ser lento para consultas com muitas tabelas e predicados de junção.
  • ‘dphyp’ - implementa o algoritmo DPhyp (Programação Dinâmica via Particionamento de Hipergrafo), atualmente apenas para junções INNER - explora o mesmo espaço de busca que dpsize, mas enumera apenas pares de subgrafos conectados, o que gera menos junções intermediárias em grafos de junção esparsos, em troca de não considerar produtos cartesianos Vários algoritmos podem ser especificados como uma lista separada por vírgulas, por exemplo dphyp,greedy. Eles são testados na ordem informada; se um algoritmo não conseguir processar a consulta (por exemplo, devido a OUTER JOINs ou componentes desconectados), o próximo será usado como alternativa.

query_plan_optimize_join_order_limit

Otimiza a ordem de join dentro da mesma subconsulta. Atualmente, há suporte para isso apenas em casos muito limitados. O valor é o número máximo de tabelas a serem otimizadas.

query_plan_optimize_join_order_max_searched_plans

Número máximo de planos parciais que o otimizador de ordem de join pode enumerar antes de interromper a busca e passar para o próximo algoritmo em query_plan_optimize_join_order_algorithm. Isso limita o tempo de otimização de forma determinística (independentemente do tempo decorrido) em grafos de join densos, como cliques ou estrelas, nos quais o espaço de busca cresce exponencialmente. Defina como 0 para desabilitar o limite. Não tem efeito sobre o query_plan_optimize_join_order_limit padrão, no qual a busca sempre permanece bem abaixo desse limite.

query_plan_optimize_join_order_randomize

Quando diferente de zero, o otimizador da ordem de join usa cardinalidades e NDVs gerados aleatoriamente em vez de estatísticas reais. Quando definido como 1, uma semente aleatória é gerada; quando definido com um valor > 1, esse valor é usado diretamente como semente. Isso se destina a testes para identificar erros causados por diferentes ordenações de join.

query_plan_optimize_lazy_final

Otimiza a leitura com FINAL no ReplacingMergeTree criando um conjunto de chaves primárias e usando-o na análise de índice.

query_plan_optimize_lazy_materialization

Usar o plano de consulta na otimização de materialização lazy.

query_plan_optimize_prewhere

Permitir o push down do filtro para a expressão PREWHERE em armazenamentos compatíveis

query_plan_push_down_limit

Ativa ou desativa uma otimização no nível do plano de consulta que desloca os LIMITs para baixo no Plano de Execução. Só tem efeito se a configuração query_plan_enable_optimizations estiver definida como 1.
Esta é uma configuração para usuários avançados que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilitar
  • 1 - Habilitar

query_plan_push_limit_by_into_sort

Ativa/desativa uma otimização no nível do plano de consulta para consultas ORDER BY ... LIMIT BY. Quando as colunas de LIMIT BY são um prefixo da cláusula ORDER BY, cada fluxo paralelo ordenado aplica LIMIT BY antes que os fluxos sejam mesclados em um só, reduzindo as linhas processadas pelo merge final e pelos estágios subsequentes do pipeline. Acelera consultas em que LIMIT BY descarta uma grande fração das linhas. Só surte efeito se a configuração query_plan_enable_optimizations estiver definida como 1. Valores possíveis:
  • 0 - Desabilitado
  • 1 - Habilitado

query_plan_read_in_order

Ativa ou desativa a otimização de leitura em ordem no nível do plano de consulta. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração de nível especialista que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativa
  • 1 - Ativa

query_plan_read_in_order_through_join

Mantém a leitura em ordem da tabela à esquerda em operações JOIN, que pode ser aproveitada por etapas subsequentes.

query_plan_remove_redundant_distinct

Ativa ou desativa uma otimização no nível do plano de consulta que remove etapas DISTINCT redundantes. Só entra em vigor se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas e deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de forma incompatível com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilitar
  • 1 - Habilitar

query_plan_remove_redundant_sorting

Ativa ou desativa uma otimização no nível do plano de consulta que remove etapas de ordenação redundantes, por exemplo, em subconsultas. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração de nível avançado que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativar
  • 1 - Ativar

query_plan_remove_unused_columns

Ativa ou desativa uma otimização no nível do plano de consulta que tenta remover colunas não utilizadas (tanto de entrada quanto de saída) das etapas do plano de consulta. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desabilitar
  • 1 - Habilitar

query_plan_reuse_storage_ordering_for_window_functions

Aliases: optimize_read_in_window_order Ativa/desativa uma otimização no nível do plano de consulta que usa a ordenação do armazenamento ao ordenar funções de janela. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas por desenvolvedores para depuração. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativar
  • 1 - Ativar

query_plan_split_filter

Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de maneiras incompatíveis com versões anteriores ou ser removida.
Ativa ou desativa uma otimização no nível do plano de consulta que divide filtros em expressões. Só tem efeito se a configuração query_plan_enable_optimizations estiver definida como 1. Valores possíveis:
  • 0 - Desativar
  • 1 - Ativar

query_plan_text_index_add_hint

Permite adicionar uma indicação (predicado adicional) ao filtro criado a partir do índice de texto invertido no plano de consulta.

query_plan_top_k_through_join

Ativa uma otimização no nível do plano de consulta que propaga ORDER BY ... LIMIT n para antes de um join quando a chave de ordenação faz referência apenas a colunas do lado preservado pelo join (LEFT/RIGHT). Isso limita quantas linhas a entrada do lado preservado precisa produzir antes do join. Só tem efeito se a configuração query_plan_enable_optimizations for 1. Valores possíveis:
  • 0 - Desabilita
  • 1 - Habilita
Ativa ou desativa uma otimização no nível do plano de consulta que tenta usar o índice de similaridade vetorial. Só tem efeito se a configuração query_plan_enable_optimizations for 1.
Esta é uma configuração para especialistas que deve ser usada apenas para depuração por desenvolvedores. A configuração pode mudar no futuro de formas incompatíveis com versões anteriores ou ser removida.
Valores possíveis:
  • 0 - Desativar
  • 1 - Ativar
Última modificação em 24 de julho de 2026