Skip to main content
Estos ajustes están disponibles en system.settings y se generan automáticamente a partir del código fuente.

query_plan_aggregation_in_order

Activa la optimización de agregación en orden a nivel del plan de consulta. Solo surte efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para tareas de depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_convert_any_join_to_semi_or_anti_join

Permite convertir ANY JOIN en SEMI o ANTI JOIN si el filtro posterior a JOIN siempre se evalúa como falso para las filas coincidentes o no coincidentes

query_plan_convert_join_to_in

Permite convertir JOIN en una subconsulta con IN si las columnas de salida están asociadas únicamente a la tabla izquierda. Puede producir resultados incorrectos con JOIN que no sean ANY (por ejemplo, ALL JOIN, que es el valor predeterminado).

query_plan_convert_outer_join_to_inner_join

Permite convertir OUTER JOIN en INNER JOIN si el filtro después del JOIN siempre filtra los valores predeterminados

query_plan_direct_read_from_text_index

Permite realizar el filtrado de búsqueda de texto completo en el plan de consulta usando únicamente el índice invertido de texto.

query_plan_display_internal_aliases

Muestra los alias internos (como __table1) en EXPLAIN PLAN en lugar de los especificados en la consulta original.

query_plan_enable_multithreading_after_window_functions

Habilita el procesamiento multihilo después de evaluar las funciones de ventana para permitir el procesamiento de flujo en paralelo

query_plan_enable_optimizations

Activa o desactiva la optimización a nivel del plan de consulta.
Esta es una configuración de nivel experto que solo debería usarse para tareas de depuración por parte de los desarrolladores. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Desactiva todas las optimizaciones a nivel del plan de consulta
  • 1 - Activa las optimizaciones a nivel del plan de consulta (aunque algunas optimizaciones individuales aún pueden desactivarse mediante sus propias configuraciones)

query_plan_execute_functions_after_sorting

Activa o desactiva una optimización a nivel del plan de consulta que desplaza las expresiones después de los pasos de ordenación. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para depuración. La configuración puede cambiar en el futuro de forma incompatible con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_filter_push_down

Activa o desactiva una optimización a nivel del plan de consulta que desplaza los filtros hacia abajo en el plan de ejecución. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Desactivar
  • 1 - Activar

query_plan_join_shard_by_pk_ranges

Aplica la segmentación para JOIN si las claves de JOIN incluyen un prefijo de PRIMARY KEY en ambas tablas. Se admite para los algoritmos hash, parallel_hash y full_sorting_merge. Normalmente no acelera las consultas, pero puede reducir el consumo de memoria.

query_plan_join_swap_table

Determina qué lado del join debe ser la tabla de construcción (también llamada interna, la que se inserta en la tabla hash para un hash join) en el plan de consulta. Esta configuración solo es compatible con la strictness ALL del join con la cláusula JOIN ON. Los valores posibles son:
  • ‘auto’: Deja que el planificador decida qué tabla usar como tabla de construcción.
  • ‘false’: Nunca intercambies las tablas (la tabla derecha es la tabla de construcción).
  • ‘true’: Intercambia siempre las tablas (la tabla izquierda es la tabla de construcción).

query_plan_lift_up_array_join

Activa o desactiva una optimización a nivel del plan de consulta que desplaza los ARRAY JOIN hacia arriba en el plan de ejecución. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que solo deben usar los desarrolladores para tareas de depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Desactivar
  • 1 - Activar

query_plan_lift_up_union

Activa o desactiva una optimización a nivel del plan de consulta que mueve subárboles más grandes del plan de consulta a union para permitir optimizaciones adicionales. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deberían usar para depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_max_limit_for_join_lazy_indexing

Controla el límite máximo que permite usar el plan de consulta para la optimización de indexación diferida en JOIN. Si es cero, no hay límite.

query_plan_max_limit_for_lazy_materialization

Controla el valor máximo del límite que permite usar el plan de consulta para la optimización de materialización diferida. Si es cero, no hay límite.

query_plan_max_limit_for_top_k_optimization

Controla el valor máximo del límite que permite evaluar el plan de consulta para la optimización TopK mediante el índice de omisión minmax y el filtrado dinámico por umbral. Si es cero, no hay límite.

query_plan_max_optimizations_to_apply

Limita el número total de optimizaciones aplicadas al plan de consulta; consulte la configuración query_plan_enable_optimizations. Es útil para evitar tiempos de optimización prolongados en consultas complejas. En la consulta EXPLAIN PLAN, deja de aplicar optimizaciones cuando se alcanza este límite y devuelve el plan tal cual. En la ejecución normal de consultas, si el número real de optimizaciones supera esta configuración, se lanza una excepción.
Esta es una configuración de nivel experto que solo deberían usar los desarrolladores para tareas de depuración. La configuración puede cambiar en el futuro de forma incompatible con versiones anteriores o eliminarse.

query_plan_max_set_size_for_projection_match

Número máximo de filas de un conjunto de la cláusula IN para el que el comparador de proyecciones calcula y compara hashes de contenido al decidir si dos conjuntos son iguales. Los conjuntos que superan este valor se tratan como no coincidentes y omiten la proyección. El valor cero desactiva por completo la comparación de hash de contenido: una coincidencia de proyección nunca se completa correctamente en nodos que contienen conjuntos de la cláusula IN. Lo utiliza el comparador de proyección de agregación (y cualquier comparador de proyección futuro que necesite comparar conjuntos de la cláusula IN). Calcular el hash de contenido es O(N log N) en función del número de elementos del conjunto; esta configuración limita el coste asumido durante la planificación cuando aparecen muchas cláusulas IN en la consulta o en la proyección.

query_plan_max_step_description_length

Longitud máxima de la descripción de un paso en EXPLAIN PLAN.

query_plan_merge_expression_into_join

Permite fusionar expresiones en el paso JOIN durante la optimización del reordenamiento de JOIN.

query_plan_merge_expressions

Activa o desactiva una optimización a nivel del plan de consulta que fusiona filtros consecutivos. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para tareas de depuración. La configuración puede cambiar en el futuro de forma no retrocompatible o eliminarse.
Posibles valores:
  • 0 - Desactivar
  • 1 - Activar

query_plan_merge_filter_into_join_condition

Permite fusionar el filtro con la condición de JOIN y convertir CROSS JOIN en INNER.

query_plan_merge_filters

Permite fusionar filtros en el plan de consulta.

query_plan_min_columns_for_join_lazy_indexing

Controla el número mínimo de columnas del payload del lado izquierdo necesario para habilitar la optimización de indexación diferida en JOIN. 0 significa que la optimización está deshabilitada.

query_plan_optimize_join_order_algorithm

Especifica qué algoritmos de orden de JOIN se intentan durante la optimización del plan de consulta. Están disponibles los siguientes algoritmos:
  • ‘greedy’ - algoritmo voraz básico: funciona rápido, pero puede no producir el mejor orden de join
  • ‘dpsize’ - implementa el algoritmo DPsize, actualmente solo para INNER JOIN: considera todos los órdenes de join posibles y encuentra el más óptimo, pero puede ser lento para consultas con muchas tablas y predicados de join.
  • ‘dpsub’ - implementa el algoritmo DPsub, que admite tanto INNER JOIN como joins que no son INNER: considera todos los órdenes de join posibles y encuentra el más óptimo, pero puede ser lento para consultas con muchas tablas y predicados de join.
  • ‘dphyp’ - implementa el algoritmo DPhyp (programación dinámica mediante partición de hipergrafos), actualmente solo para INNER JOIN: explora el mismo espacio de búsqueda que dpsize, pero enumera solo pares de subgrafos conectados, lo que genera menos joins intermedios en grafos de join dispersos, a costa de no considerar productos cartesianos Se pueden especificar varios algoritmos como una lista separada por comas; por ejemplo, dphyp,greedy. Se prueban en orden; si un algoritmo no puede procesar la consulta (p. ej., debido a OUTER JOIN o a componentes desconectados), se usa el siguiente como fallback.

query_plan_optimize_join_order_limit

Optimiza el orden de los JOIN dentro de la misma subconsulta. Actualmente, solo se admite en casos muy limitados. El valor es el número máximo de tablas que se pueden optimizar.

query_plan_optimize_join_order_max_searched_plans

Número máximo de planes parciales que el optimizador del orden de join puede enumerar antes de detenerse y pasar al siguiente algoritmo en query_plan_optimize_join_order_algorithm. Esto limita de forma determinista el tiempo de optimización (independientemente del tiempo de reloj) en grafos de join densos, como cliques o estrellas, donde el espacio de búsqueda crece exponencialmente. Establézcalo en 0 para desactivar el límite. No tiene efecto sobre el valor predeterminado de query_plan_optimize_join_order_limit, donde la búsqueda siempre se mantiene muy por debajo de este umbral.

query_plan_optimize_join_order_randomize

Cuando es distinto de cero, el optimizador de orden de JOIN utiliza cardinalidades y NDV generados aleatoriamente en lugar de estadísticas reales. Cuando se establece en 1, se genera una semilla aleatoria; cuando se establece en un valor > 1, ese valor se usa directamente como semilla. Está pensado para pruebas, con el fin de encontrar errores provocados por distintos órdenes de JOIN.

query_plan_optimize_lazy_final

Optimiza la lectura con FINAL en ReplacingMergeTree creando un conjunto de claves primarias y usándolo para el análisis de índices.

query_plan_optimize_lazy_materialization

Usar el plan de consulta para la optimización de materialización diferida.

query_plan_optimize_prewhere

Permite aplicar el filtro en la expresión PREWHERE para los almacenamientos compatibles

query_plan_push_down_limit

Activa o desactiva una optimización a nivel del plan de consulta que desplaza los LIMIT hacia abajo en el plan de ejecución. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que solo los desarrolladores deberían usar para depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Posibles valores:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_push_limit_by_into_sort

Activa o desactiva una optimización a nivel del plan de consulta para las consultas ORDER BY ... LIMIT BY. Cuando las columnas de LIMIT BY son un prefijo de la cláusula ORDER BY, cada flujo ordenado en paralelo aplica LIMIT BY antes de que los flujos se combinen en uno solo, lo que reduce las filas procesadas por la combinación final y por las etapas posteriores de la canalización. Acelera las consultas en las que LIMIT BY descarta una gran parte de las filas. Solo surte efecto si la configuración query_plan_enable_optimizations es 1. Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_read_in_order

Activa o desactiva la optimización de lectura en orden a nivel del plan de consulta. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para tareas de depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_read_in_order_through_join

Mantiene la lectura en orden de la tabla izquierda en las operaciones JOIN, lo que puede aprovecharse en pasos posteriores.

query_plan_remove_redundant_distinct

Activa o desactiva una optimización del plan de consulta que elimina pasos DISTINCT redundantes. Solo surte efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que solo deben usar los desarrolladores para depuración. La configuración puede cambiar en el futuro de manera incompatible con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_remove_redundant_sorting

Activa una optimización a nivel de plan de consulta que elimina pasos de ordenación redundantes, por ejemplo, en subconsultas. Solo tiene efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que los desarrolladores solo deben usar para depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_remove_unused_columns

Activa o desactiva una optimización a nivel de plan de consulta que intenta eliminar las columnas no utilizadas (tanto de entrada como de salida) de los pasos del plan de consulta. Solo surte efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que solo debe usarse para depuración por parte de los desarrolladores. La configuración puede cambiar en el futuro de manera incompatible con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_reuse_storage_ordering_for_window_functions

Alias: optimize_read_in_window_order Activa una optimización a nivel del plan de consulta que aprovecha el orden de almacenamiento al ordenar para funciones de ventana. Solo surte efecto si la configuración query_plan_enable_optimizations es 1.
Esta es una configuración de nivel experto que solo deberían usar los desarrolladores para depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_split_filter

Esta es una configuración para expertos que solo deben usar los desarrolladores para tareas de depuración. La configuración puede cambiar en el futuro de formas incompatibles con versiones anteriores o eliminarse.
Activa una optimización a nivel del plan de consulta que divide los filtros en expresiones. Solo surte efecto si la configuración query_plan_enable_optimizations es 1. Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar

query_plan_text_index_add_hint

Permite añadir una pista (predicado adicional) al filtrado generado a partir del índice de texto invertido en el plan de consulta.

query_plan_top_k_through_join

Activa una optimización a nivel del plan de consulta que propaga ORDER BY ... LIMIT n a través de un join cuando la clave de ordenación solo hace referencia a columnas del lado preservado por el join (LEFT/RIGHT). Limita cuántas filas debe producir la entrada del lado preservado antes de realizar el join. Solo surte efecto si la configuración query_plan_enable_optimizations es 1. Posibles valores:
  • 0 - Deshabilitado
  • 1 - Habilitado
Activa una optimización a nivel del plan de consulta que intenta usar el índice de similitud vectorial. Solo surte efecto si la opción query_plan_enable_optimizations tiene el valor 1.
Esta es una configuración de nivel experto que solo deben usar los desarrolladores para tareas de depuración. La configuración puede cambiar en el futuro de forma no retrocompatible o eliminarse.
Valores posibles:
  • 0 - Deshabilitar
  • 1 - Habilitar
Última modificación el 24 de julio de 2026