View a markdown version of this page

Administración de planes de consultas - AWSGuía prescriptiva

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Administración de planes de consultas

Los cambios en estadísticas, restricciones, configuración del entorno, enlaces de parámetros de consultas y actualizaciones del motor de base de datos PostgreSQL pueden provocar una regresión del plan de consultas. La regresión del plan de consultas se produce cuando el optimizador elige un plan menos óptimo que antes de un cambio determinado en el entorno de la base de datos.

En la edición compatible con Amazon Aurora PostgreSQL, la función de administración del plan de consultas (QPM) está diseñada para garantizar la adaptabilidad y la estabilidad del plan, independientemente de los cambios en el entorno de la base de datos que puedan provocar la regresión del plan de consultas. QPM proporciona cierto control sobre el optimizador. Con QPM, puede administrar el plan de ejecución de consultas generado por el optimizador para sus consultas SQL. El plan de ejecución de consultas obliga al optimizador a elegir entre los planes aprobados para las consultas críticas, a fin de optimizar su rendimiento.

Las empresas suelen implementar aplicaciones y bases de datos a nivel mundial o mantener varios entornos para cada base de datos de aplicaciones, como el desarrollo, el control de calidad, la puesta en escena, la preproducción, las pruebas y la producción. Mantener los planes de ejecución de consultas para cada base de datos, en cada entorno y en todos ellosRegiones de AWS puede resultar complejo y llevar mucho tiempo. QPM puede exportar e importar planes gestionados compatibles con Amazon Aurora PostgreSQL de una base de datos a otra. Esto le ayuda a administrar el plan de ejecución de consultas de forma centralizada y a implementar bases de datos a nivel mundial. Puede utilizar esta función para investigar un conjunto de planes en una base de datos de preproducción, comprobar que funcionan bien y, a continuación, cargarlos en el entorno de producción.

El QPM también ofrece varios otros beneficios. Por ejemplo, puede usar QPM para mejorar los planes de ejecución que no se pueden cambiar en las aplicaciones o cuando no se pueden añadir sugerencias a la sentencia. QPM también detecta automáticamente los nuevos planes de coste mínimo que descubre el optimizador, para que pueda seguir optimizando los costes además del rendimiento.

Le recomendamos que habilite QPM. Cuando QPM está activado, el optimizador utiliza el plan de coste mínimo que usted haya aprobado. Esto ayuda a evitar la regresión y reduce el tiempo necesario para gestionar y corregir planes que no sean óptimos.

Hay dos enfoques diferentes para usar la función QPM: proactivo y reactivo. El enfoque proactivo está diseñado para ayudar a evitar que se produzca una regresión del rendimiento, y el enfoque reactivo está diseñado para detectar y reparar las regresiones de rendimiento una vez que se producen. Puede seleccionar su enfoque por consulta. Para consultas complejas que pueden ser propensas a la regresión o para consultas críticas para el negocio, puede utilizar un enfoque proactivo y aprobar los planes óptimos para esas consultas. Si otras consultas experimentan una regresión del plan de consultas durante el tiempo de ejecución, puede utilizar un enfoque reactivo. Cuando detecte la regresión, cambie el estado de ese planrejected para que el optimizador elija otro plan aprobado. Para obtener más información, consulte Prácticas recomendadas para la administración del plan de consultas de Aurora PostgreSQL (documentación de Aurora).

¿Cómo funciona la gestión del plan de consultas?

A los planes se les asigna uno de los siguientes estados:approvedunapproved,preferred, orejected. El optimizador establece el primer plan generado para cada declaración gestionada enapproved y, a continuación, establece el estado de los planes adicionales enunapproved. Más adelante, puede evaluar losunapproved planes y cambiar su estado aapprovedpreferred, orejected. Para obtener más información, consulte Introducción a la administración del plan de consultas de Aurora PostgreSQL (documentación de Aurora).

Los planes administrados pueden capturarse de forma manual o automática. El enfoque más común consiste en capturar automáticamente los planes de todas las declaraciones que se ejecuten dos o más veces. Sin embargo, también puede capturar manualmente los planes de un conjunto específico de estados de cuenta. Para obtener más información, consulte Capturar los planes de ejecución de Aurora PostgreSQL (documentación de Aurora).

Una vez configurado un plan administrado, el optimizador utiliza elapproved planpreferred o costo mínimo que sea válido y esté habilitado para cada instrucción administrada. Para obtener información detallada, consulte Cómo selecciona el optimizador qué plan ejecutar (documentación de Aurora).

Para obtener instrucciones sobre cómo configurar la función QPM en Amazon Aurora PostgreSQL compatible, consulte Administración de planes de ejecución de consultas para Aurora PostgreSQL (documentación de Aurora).

Limitaciones

Para usar QPM, debe asegurarse de cumplir con los requisitos de las sentencias SQL compatibles, de que las sentencias no hacen referencia a las relaciones del sistema y de que la clase de instancia de base de datos tiene suficientes vCPU vCPUs. Para obtener más información, consulte las sentencias SQL admitidas y las limitaciones de administración del plan de consultas (documentación de Aurora).

Casos de uso para la administración de planes de consultas de consultas

  • Evitar la regresión del plan de consultas: mantener la versión de la base de datos actualizada ofrece muchos beneficios, como la mejora del rendimiento y la seguridad, el acceso a nuevas funciones, la solución de problemas conocidos y el cumplimiento de los requisitos reglamentarios. Sin embargo, existe el riesgo de que las actualizaciones de la base de datos provoquen una regresión en el rendimiento de algunas consultas. Este riesgo es mayor con las actualizaciones de versiones importantes, ya que pueden contener cambios que pueden no ser compatibles con versiones anteriores de las consultas de aplicaciones existentes. La implementación de QPM puede ayudar a prevenir la regresión y estabilizar el rendimiento durante los cambios en el sistema. Si actualiza las estadísticas, agrega un índice, cambia los parámetros o actualiza a una nueva versión de Amazon Aurora PostgreSQL, QPM detecta un plan nuevo pero sigue utilizando el plan aprobado, manteniendo así la estabilidad del plan.

  • Funciones de prueba: puede ver el historial del plan de todas las sentencias SQL administradas y evaluar si las nuevas funciones de PostgreSQL o los cambios en el plan están mejorando el rendimiento. A continuación, puede decidir si desea implementar esas funciones o nuevos planes. Para obtener más información, consulte Examinación de los planes de consultas de Aurora PostgreSQL en la vista dba_plans (documentación de Aurora).

  • Mejora de un plan: en algunos casos, puede que prefiera reparar un plan que no sea óptimo en lugar de rechazarlo, deshabilitarlo o eliminarlo. Para obtener más información, consulte Arreglar planes mediante pg_hint_plan (documentación de Aurora).