Mejora del rendimiento de las consultas mediante la unión adaptativa
Descripción general
La unión adaptativa es una característica de vista previa de Aurora PostgreSQL 17.4 que ayuda a mejorar el rendimiento de las consultas. Esta característica está desactivada de forma predeterminada, pero puede habilitarla mediante los parámetros de configuración global de usuario (GUC). Como se trata de una característica de vista previa, es posible que los valores de los parámetros predeterminados cambien. Cuando está habilitada, la unión adaptativa ayuda a optimizar el rendimiento de las consultas al cambiar dinámicamente de una unión de bucles anidados a una combinación hash en tiempo de ejecución. Este cambio se produce cuando el optimizador de PostgreSQL ha elegido incorrectamente una unión de bucles anidados debido a estimaciones de cardinalidad imprecisas.
Configuración de unión adaptativa
Puede controlar la unión adaptativa mediante estos tres parámetros de GUC:
Parámetro de GUC | Descripción | Opciones predeterminadas y de configuración |
---|---|---|
apg_adaptive_join_crossover_multiplier | Este multiplicador funciona con el punto de cruce de filas para determinar cuándo cambiar de un bucle anidado a una combinación hash. El punto de cruce de filas es donde el optimizador SQL estima que las operaciones de unión de bucle anidado y combinación hash tienen el mismo costo. Un valor multiplicador más alto reduce la probabilidad de que la unión adaptativa cambie a una combinación hash. |
Controla si la unión adaptativa está habilitada
|
apg_adaptive_join_cost_threshold | Este parámetro establece un umbral mínimo de costo de consulta. La unión adaptativa se desactiva automáticamente para las consultas por debajo de este umbral. Esto evita la sobrecarga de rendimiento en consultas sencillas, en las que el costo de planificar una unión adaptativa podría superar los beneficios de cambiar de un bucle anidado a una combinación hash. |
Establece el umbral de costo mínimo para la consulta
|
apg_enable_parameterized_adaptive_join | Este parámetro amplía la funcionalidad de unión adaptativa a las uniones de bucles anidados parametrizadas cuando está habilitado. De forma predeterminada, la unión adaptativa solo funciona con uniones de bucle anidadas sin parametrizar, ya que es más probable que se beneficien del cambio a la combinación hash. Las uniones de bucle anidadas parametrizadas suelen funcionar mejor, lo que hace que el cambio a una combinación hash sea menos crítico. |
Controla el comportamiento adaptativo de las uniones de bucle anidadas
notaRequiere que |