query_plan_aggregation_in_order
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.
- 0 - Desabilitar
- 1 - Habilitar
query_plan_convert_any_join_to_semi_or_anti_join
query_plan_convert_join_to_in
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
OUTER JOIN em INNER JOIN se o filtro após JOIN sempre excluir os valores padrão
query_plan_direct_read_from_text_index
query_plan_display_internal_aliases
query_plan_enable_multithreading_after_window_functions
query_plan_enable_optimizations
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.
- 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
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.
- 0 - Desabilitado
- 1 - Habilitado
query_plan_filter_push_down
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.
- 0 - Desabilita
- 1 - Habilita
query_plan_join_shard_by_pk_ranges
query_plan_join_swap_table
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
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.
- 0 - Desativado
- 1 - Ativado
query_plan_lift_up_union
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.
- 0 - Desativado
- 1 - Ativado
query_plan_max_limit_for_join_lazy_indexing
query_plan_max_limit_for_lazy_materialization
query_plan_max_limit_for_top_k_optimization
query_plan_max_optimizations_to_apply
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
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
query_plan_merge_expression_into_join
query_plan_merge_expressions
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.
- 0 - Desabilita
- 1 - Habilita
query_plan_merge_filter_into_join_condition
JOIN e converter CROSS JOIN em INNER.
query_plan_merge_filters
query_plan_min_columns_for_join_lazy_indexing
query_plan_optimize_join_order_algorithm
- ‘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 exemplodphyp,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
query_plan_optimize_join_order_max_searched_plans
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
query_plan_optimize_lazy_final
query_plan_optimize_lazy_materialization
query_plan_optimize_prewhere
query_plan_push_down_limit
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.
- 0 - Desabilitar
- 1 - Habilitar
query_plan_push_limit_by_into_sort
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
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.
- 0 - Desativa
- 1 - Ativa
query_plan_read_in_order_through_join
query_plan_remove_redundant_distinct
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.
- 0 - Desabilitar
- 1 - Habilitar
query_plan_remove_redundant_sorting
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.
- 0 - Desativar
- 1 - Ativar
query_plan_remove_unused_columns
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.
- 0 - Desabilitar
- 1 - Habilitar
query_plan_reuse_storage_ordering_for_window_functions
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.
- 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.
- 0 - Desativar
- 1 - Ativar
query_plan_text_index_add_hint
query_plan_top_k_through_join
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
query_plan_try_use_vector_search
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.
- 0 - Desativar
- 1 - Ativar