Todos los productos
Search
Centro de documentos

ApsaraDB for OceanBase (Deprecated):Información básica de SQL

Última actualización: Sep 04, 2026

La función de diagnóstico de SQL está diseñada para analizar y diagnosticar TopSQL, SlowSQL y Suspicious SQL con el fin de ayudarle a optimizar el rendimiento de la base de datos.

Conceptos básicos

Los conceptos básicos del diagnóstico de SQL son los siguientes:

  • TopSQL: se refiere a las sentencias SQL con el mayor tiempo de respuesta global dentro del rango de tiempo seleccionado.

  • SlowSQL: se refiere a las sentencias SQL cuyo tiempo de ejecución supera los 500 ms.

  • Suspicious SQL: se refiere a las sentencias SQL que podrían causar problemas de rendimiento y se filtran mediante reglas y algoritmos.

Nota

Actualmente, el sistema presenta las siguientes restricciones para las instancias de clúster Standard Edition (Key-Value):

  • Para las instancias de clúster KV con números de versión mayores o iguales a 4.2.4 pero menores que 4.3.0, se muestra la información de diagnóstico de TopSQL y SlowSQL.

  • Para las instancias de clúster KV de otras versiones, solo se muestra la información de diagnóstico de SlowSQL.

TopSQL

TopSQL se refiere a las sentencias SQL con el mayor tiempo de respuesta global dentro del rango de tiempo seleccionado. Puede realizar las siguientes operaciones relacionadas con TopSQL:

  • Filtre TopSQL mediante filtros rápidos, como Full Table Scan, Multi-partition scan y Multiple Remote Executions.

  • Haga clic en View Samples en la columna Operation para consultar la sentencia SQL.

  • En la columna Operation de una sentencia SQL específica, haga clic en image y seleccione Set Throttling. Puede seleccionar varias sentencias SQL para configurar la limitación por lotes.

  • Haga clic en el signo más (+) delante del texto SQL para consultar el último error y el resumen de errores durante el período estadístico.

  • Marque Aggregate in en la esquina superior derecha de la lista para mostrar las sentencias SQL según Aggregation IN; esto no afecta los datos estadísticos. Puede seleccionar varias sentencias SQL (incluidas las que tienen Aggregation IN) para configurar la limitación por lotes.

  • Haga clic en View Optimization Suggestions en la esquina superior derecha de la lista para ir al centro de optimización y consultar las sugerencias de optimización.

  • Haga clic en TopSQL Comparison en la esquina superior derecha de la lista para comparar la ejecución de la misma sentencia SQL durante diferentes períodos en el mismo nodo, o durante el mismo período en distintos nodos, así como la ejecución de una sola sentencia SQL durante diferentes períodos o en distintos nodos.

    • Comparación de diferentes períodos: especifique el período base y el período de comparación. Haga clic en Comparative Analysis para consultar la Comparison of Details y la Comparison of Performance Trends.

    • Comparación de diferentes nodos: especifique el nodo base y el nodo de comparación. Haga clic en Comparative Analysis para consultar la Comparison of Details y la Comparison of Response Time Trends.

    • Comparación de una sola SQL en diferentes períodos: compare y analice la ejecución de una SQL individual o agregada durante los períodos base y de comparación, y luego revise el Total Database Time Consumption y las Total Executions.

    • Comparación de una sola SQL en diferentes nodos: compare y analice la ejecución de una SQL individual o agregada en distintos nodos de análisis, y luego revise el Total Database Time Consumption y las Total Executions.

      Nota
      • Dos sentencias SQL con el mismo ID de SQL en la misma base de datos se consideran idénticas.

      • La comparación de diferentes nodos solo se realiza cuando la misma sentencia SQL se ejecuta en distintos nodos. De lo contrario, no se mostrará ningún resultado de comparación.

      • Para realizar un análisis comparativo de una sola SQL en diferentes períodos o en distintos nodos, también puede introducir primero el ID de SQL y luego seleccionar ... > Single SQL Comparison en la columna Operation correspondiente a dicha SQL.

  • Haga clic en Customize Column en la esquina superior derecha de la lista para personalizar otras métricas que necesite.

    1. En la ventana emergente, establezca la Column Expression, por ejemplo (@avgCpuTime * @avgDiskReads) / 2.

    2. Introduzca el Column Name.

    3. Haga clic en OK.

  • Cuando la utilización de CPU de un host es demasiado alta, puede filtrar las principales sentencias SQL por base de datos y nodo, y luego ordenarlas por tiempo de CPU en orden descendente para localizar las sentencias SQL que requieren mayor optimización.image

SlowSQL

SlowSQL se refiere a las sentencias SQL cuyo tiempo de ejecución supera los 500 ms.

  • Filtre SlowSQL mediante filtros rápidos, como Full Table Scan, Multi-partition scan y Multiple Remote Executions.

  • Haga clic en View Samples en la columna Operation para consultar la sentencia SQL.

  • En la columna Operation de una sentencia SQL específica, haga clic en image y seleccione Set Throttling. Puede seleccionar varias sentencias SQL para configurar la limitación por lotes.

  • Marque Aggregate in en la esquina superior derecha de la lista para mostrar las sentencias SQL según Aggregation IN; esto no afecta los datos estadísticos. Puede seleccionar varias sentencias SQL (incluidas las que tienen Aggregation IN) para configurar la limitación por lotes.

  • Para personalizar el umbral de SQL lenta, seleccione ... > Modify Slow SQL Threshold en la esquina superior derecha de la lista. En la ventana emergente, ajuste el umbral de SQL lenta y luego haga clic en OK.

Suspicious SQL

Suspicious SQL se refiere a las sentencias SQL que podrían causar problemas de rendimiento y se filtran mediante reglas y algoritmos. La siguiente tabla enumera los resultados de diagnóstico comunes y las sugerencias de solución.

Resultado del diagnóstico

Sugerencia de solución

Hint sin efecto

Indica una sentencia SQL anómala que requiere que el administrador de bases de datos (DBA) determine si debe corregir el plan de ejecución mediante un outline.

Escaneo completo de tabla con bajo rendimiento

Analice el plan de ejecución y la estructura de la tabla para asegurar que la SQL disponga de índices adecuados.

Bajo rendimiento a pesar del uso de índices

Compruebe si el rendimiento es aceptable en sus escenarios de negocio. De no ser así, mejore la lógica de negocio u optimice los índices.

Degradación del rendimiento

Revise los cambios en la distribución de datos, los aumentos repentinos de solicitudes y las modificaciones en el plan de ejecución.

Cambio de plan acompañado de degradación del rendimiento

Consulte al DBA. Puede usar un outline para fijar el plan de ejecución y verificar si la sentencia SQL es anómala.

Picos de ejecución

Revise el volumen de negocio. Un aumento repentino en el número de ejecuciones de una sentencia SQL puede provocar una disminución general del rendimiento.

Carga de CPU excesivamente alta

Revise sus escenarios de negocio, los cambios en la distribución de datos, el incremento de solicitudes y las modificaciones en el plan de ejecución.

Posible conflicto de bloqueos

La SQL se está reintentando, lo cual podría deberse a un conflicto de bloqueos. Investigue la lógica de negocio para determinar si existe un escenario de conflicto de bloqueos.

La sentencia DML accede a demasiadas particiones

Reescriba la sentencia SQL para que admita la poda de particiones.

Posible tabla búfer

Compruebe si la tabla relacionada se actualiza con frecuencia.

Posible existencia de cuentas grandes y pequeñas

Compruebe si existe un problema de sesgo de datos.

Inestabilidad del plan de ejecución

Compruebe si hay problemas de regresión del plan.

Tiempo de generación del plan demasiado largo

Compruebe si existen problemas como una baja tasa de aciertos del plan.

La pestaña Suspicious SQL muestra el SQL Text, el SQL ID, la Database, los Diagnostic Results, entre otros elementos.