Todos los productos
Search
Centro de documentos

Database Autonomy Service:SQL Explorer

Última actualización: Sep 05, 2026

Utilice ️SQL Explorer en SQL Explorer and Audit para diagnosticar el estado de SQL y solucionar problemas de rendimiento.

Requisitos previos

  • La instancia de base de datos se agregó a DAS y su estado de conexión es Normal Connection.

  • SQL Explorer and Audit está habilitado para la instancia. Para obtener más información, consulte Enable SQL Explorer and Audit.

Cómo funciona

Cuando está habilitado, SQL Explorer registra todas las operaciones DQL, DML y DDL directamente desde el kernel de la base de datos, con un impacto insignificante en la CPU.

Notas de uso

  • Los datos analíticos y estadísticos de SQL Explorer, excepto los detalles de SQL, se conservan durante 30 días.

  • Los datos de detalle de SQL en SQL Explorer se conservan durante el mismo periodo configurado para DAS Enterprise Edition.

  • Deshabilitar SQL Explorer and Audit no afecta sus servicios, pero elimina todos los datos almacenados de esta función. Antes de deshabilitarlo, exporte los datos necesarios a una computadora local. Para obtener más información, consulte Disable SQL Explorer and Audit.

  • Cuando se ejecuta una sentencia SQL en una instancia de ApsaraDB RDS for MySQL vinculada a PolarDB-X 1.0, se generan varios registros de SQL en la instancia de ApsaraDB RDS for MySQL debido al sharding.

  • La migración de datos puede provocar desconexiones transitorias que causen pérdida de datos en SQL Explorer.

  • Bajo una carga muy alta, se puede perder una pequeña cantidad de registros. Esto genera estadísticas de datos incrementales inexactas en SQL Explorer.

  • Un parámetro controla la longitud máxima registrada de las sentencias SQL. SQL Explorer trunca cualquier sentencia que supere este límite. Como se agrega un prefijo durante la recopilación de datos, la longitud real registrada es ligeramente menor que el valor configurado.

    Nota
    • En las versiones 5.6 y 5.7 de ApsaraDB RDS for MySQL y PolarDB for MySQL, la longitud registrada se controla mediante el parámetro loose_rds_audit_max_sql_size.

    • En la versión 8.0 de ApsaraDB RDS for MySQL y PolarDB for MySQL, la longitud registrada se controla mediante el parámetro loose_rds_audit_log_event_buffer_size.

  • En las instancias de ApsaraDB RDS for PostgreSQL con PgBouncer habilitado, SQL Explorer no registra las sentencias SQL ejecutadas a través de PgBouncer.

Procedimiento

  1. Inicie sesión en la consola de DAS.

  2. En el panel de navegación izquierdo, haga clic en Intelligent O&M Center > Instance Monitoring.

  3. Busque la instancia de destino y haga clic en su ID para abrir la página de detalles de la instancia.

  4. En el panel de navegación izquierdo, haga clic en Request Analysis > SQL Explorer and Audit y, a continuación, haga clic en la pestaña SQL Explorer.

  5. Seleccione una función según sus necesidades:

    Nota

    Al seleccionar un intervalo de tiempo, la hora de finalización debe ser posterior a la de inicio y el intervalo no puede superar un día. Después de habilitar DAS Enterprise Edition para la instancia, puede consultar datos de cualquier día dentro del periodo de almacenamiento de SQL Explorer.

    • Display by Time Range: seleccione un intervalo de tiempo para consultar los resultados de SQL Explorer. Puede ver la Execution Duration Distribution, la Execution Duration y las Executions de todas las sentencias SQL dentro del intervalo seleccionado. También puede consultar los detalles de todas las sentencias SQL en la sección Full Request Statistics y exportar los resultados.

      Nota

      Puede exportar hasta 1,000 registros de SQL. Para obtener más registros o abarcar un intervalo de tiempo mayor, utilice la función Audit.

    • Display by Comparison: seleccione los puntos en el tiempo cuyos resultados de SQL Explorer desea comparar. Puede ver una comparación de la Execution Duration Distribution, la Execution Duration y las Executions de todas las sentencias SQL. Además, puede consultar los resultados detallados de la comparación en la sección Requests by Comparison.

    • Source Statistics: seleccione un intervalo de tiempo para consultar estadísticas sobre los orígenes de SQL. Puede ver la información de origen de todas las sentencias SQL dentro del intervalo seleccionado.

    • SQL Review: analiza la carga de trabajo de una instancia de base de datos para un intervalo de tiempo seleccionado y un intervalo de referencia. También efectúa un análisis profundo de las sentencias SQL que se ejecutan en la instancia y proporciona sugerencias de optimización de índices, sugerencias de reescritura de SQL, TOP SQL, SQL nuevo, SQL con errores, análisis de funciones de SQL, SQL con cambios de ejecución, SQL con degradación de rendimiento y tablas con mayor tráfico. Para obtener más información, consulte SQL Review.

    • Related SQL Identification: seleccione las métricas que desea consultar y haga clic en Analysis. Después de 1 a 5 minutos, el sistema identifica y muestra las sentencias SQL cuyas tendencias coinciden más estrechamente con las métricas seleccionadas dentro del intervalo de tiempo especificado.

    Importante
    • En SQL Explorer and Audit con almacenamiento activo e inactivo, el sistema mueve al almacenamiento inactivo los datos con más de siete días de antigüedad. Cuando analiza datos de detalle de SQL con más de siete días, el sistema crea una tarea para recalcularlos y analizarlos. Puede consultar el progreso y el historial de la tarea en la página Task list.

    • Las consultas sobre datos de SQL Explorer and Audit con más de siete días de antigüedad se cobran bajo el modelo pay-as-you-go. Para obtener más información, consulte billing details.

Resultados

  • Execution Duration Distribution: muestra cómo se distribuyen las duraciones de ejecución de SQL dentro del intervalo de tiempo seleccionado. Las duraciones se dividen en siete intervalos y se calculan una vez por minuto:

    • [0,1]ms indica el porcentaje de ejecuciones de SQL con una duración de 0 ms a 1 ms (inclusive).

    • (1,2]ms indica el porcentaje de ejecuciones de SQL con una duración mayor a 1 ms y de hasta 2 ms.

    • (2,3]ms indica el porcentaje de ejecuciones de SQL con una duración mayor a 2 ms y de hasta 3 ms.

    • (3,10]ms indica el porcentaje de ejecuciones de SQL con una duración mayor a 3 ms y de hasta 10 ms.

    • (10,100]ms indica el porcentaje de ejecuciones de SQL con una duración mayor a 10 ms y de hasta 100 ms.

    • (0.1,1]s indica el porcentaje de ejecuciones de SQL con una duración mayor a 0.1 s y de hasta 1 s.

    • >1s indica el porcentaje de ejecuciones de SQL con una duración mayor a 1 s.

    Nota

    Los colores más cercanos al azul indican un mejor rendimiento de SQL. Los colores más cercanos al naranja y al rojo indican un rendimiento deficiente.

  • Execution Duration (SQL RT): muestra la duración de ejecución de las sentencias SQL dentro del intervalo de tiempo seleccionado.

  • Full Request Statistics: muestra el texto de SQL, el porcentaje de duración, la duración promedio de ejecución y la tendencia de ejecución de cada tipo de sentencia SQL dentro del intervalo de tiempo seleccionado.

    Nota

    El porcentaje de duración es la proporción entre la duración total de ejecución de un tipo específico de SQL y la duración total de todos los tipos de SQL. Un porcentaje más alto indica un mayor consumo de recursos en la instancia de MySQL.

  • SQL ID: haga clic en un SQL ID para consultar la tendencia de rendimiento y las muestras de SQL de esa sentencia.

  • SQL Sample: utilice una SQL Sample para identificar qué aplicación cliente inició la sentencia SQL.

    Nota

    Las muestras de SQL usan codificación UTF-8.

Preguntas frecuentes

P: ¿Qué significa la sentencia ️SQL Explorerlogout! en la sección Full Request Statistics de ️SQL Explorer**?

R: logout! indica una desconexión. Su duración es el tiempo transcurrido entre la última interacción y el momento en que ocurrió la desconexión, lo que representa el tiempo de inactividad de la conexión. Un estado de 1158 en la columna Status indica una desconexión de red, la cual puede deberse a lo siguiente:

  • Se agotó el tiempo de espera de la conexión del cliente.

  • El servidor se desconectó de forma inesperada.

  • El servidor restableció la conexión porque se superó la duración de interactive_timeout o de wait_timeout.

P: En la sección ️SQL ExplorerSource Statistics de ️SQL Explorer, ¿por qué aparece un signo de porcentaje (%) como Access Source**?

R: Esto puede ocurrir cuando utiliza un procedimiento almacenado. Para reproducir este comportamiento, siga el ejemplo a continuación:

Nota

Este ejemplo usa una instancia de ApsaraDB RDS for MySQL, una cuenta de prueba llamada test_user y una base de datos de prueba llamada testdb.

  1. En la consola de ApsaraDB RDS, cree una cuenta estándar y autorícela para acceder a una base de datos. Para obtener más información, consulte (Deprecated, redirected to "Step 1") Create a database and an account.

  2. Use la cuenta de prueba para conectarse a la instancia de base de datos desde la línea de comandos. Para obtener más información, consulte (Deprecated, redirected to "Step 2") Connect to an ApsaraDB RDS for MySQL instance by using a client or the CLI.

  3. Cambie a la base de datos de prueba y cree el siguiente procedimiento almacenado.

    -- Switch to the test database
    USE testdb;
    
    -- Create a stored procedure
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Use una cuenta con privilegios para conectarse a la instancia de base de datos. Para obtener más información, consulte (Deprecated, redirected to "Step 2") Connect to an ApsaraDB RDS for MySQL instance by using a client or the CLI.

  5. Llame al procedimiento almacenado.

    -- Switch to the test database
    USE testdb;
    
    -- Call the stored procedure
    CALL das();
    
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

P: ¿Por qué el nombre de la base de datos en la sección Logs es diferente del que aparece en la sentencia SQL?

R: El nombre de la base de datos que se muestra en la sección Logs se obtiene de la sesión, mientras que el nombre de la base de datos en la sentencia SQL lo especifica el usuario. Estos pueden diferir en escenarios como consultas entre bases de datos o SQL dinámico, donde la entrada del usuario o el diseño de la consulta determina el nombre de la base de datos en la sentencia.

P: ¿Habilitar SQL Explorer and Audit afecta el rendimiento de la base de datos? ¿Qué tan significativo es el impacto?

R: Sí, pero el impacto es mínimo y casi imperceptible.

El impacto en recursos específicos es el siguiente:

  • CPU y memoria: el consumo es extremadamente bajo y se puede ignorar.

  • Espacio de almacenamiento: la función almacena principalmente información de auditoría. Sin embargo, DAS Enterprise Edition guarda estos datos del lado de DAS, por lo que no consume el almacenamiento de su instancia de base de datos.

  • Red: no hay impacto en el rendimiento de la red.

  • Rendimiento del disco: sin impacto. Los datos de auditoría se escriben en el almacenamiento de DAS, no en los discos de la instancia de base de datos.

P: ¿Por qué una sentencia SQL capturada está incompleta? ¿Cómo puedo ver la sentencia completa?

R: Esto ocurre si la sentencia SQL ejecutada es demasiado larga. En SQL Explorer, busque el ID de hilo o el ID de transacción correspondiente para ver la sentencia completa.

P: En los registros de auditoría de una instancia de ApsaraDB RDS for PostgreSQL, ¿por qué algunas sentencias SQL se muestran como -?

R: Cuando el parámetro log_statement de una instancia de ApsaraDB RDS for PostgreSQL se establece en all, las sentencias vacías enviadas por el cliente también se registran en el registro de auditoría. Estas aparecen como - en la columna de sentencias SQL, lo cual es un comportamiento esperado. Revise el código de su cliente para optimizar la lógica de envío de sentencias vacías.

API relacionadas

API

Descripción

GetErrorRequestSample

Consulta de forma asíncrona hasta 20 muestras de consultas SQL con errores a partir de los resultados de SQL Explorer de una instancia de base de datos dentro de un intervalo de tiempo especificado.

GetAsyncErrorRequestStatResult

Recupera de forma asíncrona el número de ejecuciones con errores de una sentencia SQL específica a partir de los resultados de SQL Explorer de una instancia de base de datos.

GetAsyncErrorRequestListByCode

Consulta de forma asíncrona los ID de SQL de las sentencias que generaron un código de error de MySQL específico a partir de los resultados de SQL Explorer de una instancia de base de datos.

GetAsyncErrorRequestStatByCode

Consulta de forma asíncrona los códigos de error de MySQL y el número de consultas SQL correspondientes a cada código de error a partir de los resultados de SQL Explorer de una instancia de base de datos.

GetFullRequestOriginStatByInstanceId

Recopila estadísticas sobre los datos completos de solicitudes a partir de los resultados de SQL Explorer de una instancia de base de datos, categorizadas por origen de acceso.

GetFullRequestStatResultByInstanceId

Recopila de forma asíncrona estadísticas sobre los datos completos de solicitudes a partir de los resultados de SQL Explorer de una instancia de base de datos, categorizadas por ID de SQL.

GetFullRequestSampleByInstanceId

Consulta hasta 20 muestras de SQL por ID de SQL a partir de los resultados de SQL Explorer de una instancia de base de datos.

GetDasSQLLogHotData

Consulta los detalles de los datos en almacenamiento activo de los últimos siete días para SQL Explorer and Audit de una instancia de base de datos.

Mejores prácticas

Troubleshoot slow SQL queries