query_plan_aggregation_in_order
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_convert_any_join_to_semi_or_anti_join
query_plan_convert_join_to_in
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
OUTER JOIN en INNER JOIN si el filtro después del JOIN siempre filtra los valores predeterminados
query_plan_direct_read_from_text_index
query_plan_display_internal_aliases
query_plan_enable_multithreading_after_window_functions
query_plan_enable_optimizations
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.
- 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
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_filter_push_down
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.
- 0 - Desactivar
- 1 - Activar
query_plan_join_shard_by_pk_ranges
query_plan_join_swap_table
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
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.
- 0 - Desactivar
- 1 - Activar
query_plan_lift_up_union
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.
- 0 - Deshabilitar
- 1 - Habilitar
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 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
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
query_plan_merge_expression_into_join
query_plan_merge_expressions
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.
- 0 - Desactivar
- 1 - Activar
query_plan_merge_filter_into_join_condition
JOIN y convertir CROSS JOIN en INNER.
query_plan_merge_filters
query_plan_min_columns_for_join_lazy_indexing
query_plan_optimize_join_order_algorithm
- ‘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
query_plan_optimize_join_order_max_searched_plans
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
query_plan_optimize_lazy_final
query_plan_optimize_lazy_materialization
query_plan_optimize_prewhere
query_plan_push_down_limit
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_push_limit_by_into_sort
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
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_read_in_order_through_join
query_plan_remove_redundant_distinct
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_remove_redundant_sorting
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_remove_unused_columns
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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_reuse_storage_ordering_for_window_functions
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.
- 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.
- 0 - Deshabilitar
- 1 - Habilitar
query_plan_text_index_add_hint
query_plan_top_k_through_join
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
query_plan_try_use_vector_search
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.
- 0 - Deshabilitar
- 1 - Habilitar