Database Autonomy Service (DAS) ofrece una función de optimización SQL que genera automáticamente resultados de diagnóstico, sugerencias de optimización y estimaciones de mejora de rendimiento. Puede revisar estos resultados para decidir si adopta las sugerencias. Este tema describe cómo utilizar la función de optimización SQL.
Requisitos previos
-
El motor de base de datos es uno de los siguientes:
-
RDS for MySQL
NotaLas ediciones Basic y Cluster de RDS for MySQL no son compatibles.
MyBase MySQL
-
PolarDB for MySQL
NotaLos clústeres de nodo único (anteriormente instancias independientes) de PolarDB for MySQL no son compatibles.
-
PolarDB-X 2.0
NotaLas instancias de PolarDB-X 2.0 con versión principal
5.4.13y una versión secundaria en el rango[16415631,16504348]no son compatibles. Para consultar la versión de su instancia de PolarDB-X 2.0, consulte View and upgrade an instance version. MongoDB
-
La instancia objetivo está conectada a DAS. Para obtener más información, consulte Connect an instance to DAS.
El estado de acceso de la instancia objetivo es Normal Access.
Limitaciones
No es posible diagnosticar ni optimizar sentencias SQL para tablas que utilizan X-Engine.
En PolarDB-X, si ejecuta una sentencia SQL mediante una sentencia preparada, el registro de consultas lentas almacena por separado la plantilla de la sentencia (por ejemplo,
select * from test where a = ? and b = ?) y los parámetros vinculados (por ejemplo,params: [1, 2]). Dado que este formato no se puede ejecutar directamente como una sentencia SQL válida, las funciones que dependen de la sentencia original para su análisis u optimización podrían verse limitadas.
Crear un análisis SQL visual a partir de registros lentos
Esta función presenta flujos complejos de ejecución SQL en un formato visual e intuitivo. Su interfaz gráfica muestra claramente la ruta de ejecución de la consulta, la eficiencia de los nodos y los posibles cuellos de botella, lo que le permite identificar y resolver problemas rápidamente durante la optimización SQL, las revisiones de código y las comprobaciones de estado.
La optimización SQL en la página Slow Log Analysis solo es compatible con instancias de RDS for MySQL 5.6, 5.7, and 8.0 y PolarDB for MySQL 5.6, 5.7, and 8.0.
Inicie sesión en la consola de DAS.
En el panel de navegación izquierdo, haga clic en .
Localice la instancia objetivo y haga clic en el ID de la instancia para abrir la página de detalles de la instancia.
En el panel de navegación izquierdo, haga clic en Request Analysis > Slow Logs.
-
En la página Slow Log Analysis:
En la pestaña Slow Log Statistics, localice la plantilla SQL objetivo y haga clic en Optimize en la columna Actions.
En la pestaña Slow Log Details, localice la sentencia SQL objetivo y haga clic en Optimize en la columna Actions.
-
En el cuadro de diálogo que aparece, haga clic en Create Plan.
-
Seleccione un tipo de nodo de ejecución.
Standby node (predeterminado): El nodo en espera de la instancia actual. Este nodo se utiliza principalmente para el análisis de consultas rutinarias.
Event node: El nodo de negocio donde se ejecutó realmente la sentencia SQL. Este nodo es adecuado para la resolución de problemas y la optimización.
-
Haga clic en Confirm Creation para crear un Visual Execution Plan.
Plan de ejecución visual
Optimizar SQL desde la página Instance Sessions
Las instancias autogestionadas de MySQL, MongoDB y RDS for PostgreSQL no admiten la optimización SQL en la página Instance Sessions.
Inicie sesión en la consola de DAS.
En el panel de navegación izquierdo, haga clic en .
Localice la instancia objetivo y haga clic en el ID de la instancia para abrir la página de detalles de la instancia.
En el panel de navegación izquierdo, haga clic en Instance Sessions.
En el área Instance Sessions, seleccione la sesión que desea optimizar y haga clic en Optimize.
-
En el cuadro de diálogo SQL Diagnostic Optimization que aparece, consulte los resultados del diagnóstico SQL.
Si acepta la sugerencia, haga clic en Copy en la esquina superior derecha y pegue el SQL optimizado en su cliente de base de datos o en DMS para su ejecución. Si no acepta la sugerencia, haga clic en Cancel para cerrar el cuadro de diálogo.
NotaDAS diagnostica las sentencias SQL según su complejidad, el volumen de datos de la tabla y la carga de la base de datos. Un diagnóstico puede tardar más de 20 segundos. Posteriormente, el motor proporciona resultados de diagnóstico, sugerencias de optimización y estimaciones de mejora de rendimiento para que los revise y adopte.
Una vez completado el diagnóstico, la página muestra el SQL original, el plan de ejecución (incluidas columnas como select_type, type y rows), los resultados del diagnóstico (incluidas sentencias DDL para sugerencias de índices de almacenamiento en filas y detalles de índices), los beneficios de optimización (por ejemplo, "Expected performance improvement: 0.55x" y "Low optimization gains") y las sugerencias de optimización de sentencias.
Consultar el historial de diagnósticos SQL
Inicie sesión en la consola de DAS.
En el panel de navegación izquierdo, haga clic en .
Localice la instancia objetivo y haga clic en el ID de la instancia para abrir la página de detalles de la instancia.
En el panel de navegación izquierdo, haga clic en Request Diagnostic History. Aquí puede consultar el historial de diagnósticos SQL de la instancia, que incluye detalles como el contenido SQL, el estado del diagnóstico, la hora y los resultados.