En las utilidades del SQL Wokshop (Taller SQL), encontramos la opción Database Monitor. Esta opción nos brinda un panorama de toda la base de datos, las sesiones, estadísticas del sistema, consultas SQL y operaciones más largas.

Podemos utilizar esta información para identificar consultas SQL de bajo rendimiento y comprender mejor la carga de trabajo que tiene la base de datos.

 

Hoy veremos en detalle las denominadas Top SQL ó en español SQL Principal.

Lo primero que se requiere es activar el monitoreo en el workspace Internal:

En el workspace que quiere evaluar, ingresar a SQL Workshop -> Utilities -> Database Monitor.

Ingresar las credenciales de un usuario con privilegios de DBA.

Al ejecutar Top SQL veremos las sentencias SQL que se ejecutan con mayor frecuencia, que utilizan más recursos del sistema que otras sentencias SQL o que usan recursos del sistema con más frecuencia que otras sentencias SQL.

Al dar clic en la lupa podemos ver el SQL Plan, que contiene las siguientes secciones:

 

Query Plan: contiene un plan de explicación con código de color. Tenga en cuenta que las columnas no indexadas se muestran en rojo.

SQL Text: muestra el texto completo de la declaración SQL.

 

Indexes: muestra todos los índices en la tabla en la consulta. Hay una marca de verificación cuando ese índice se usa en la consulta.

Table Columns: muestra todas las columnas en todas las tablas o vistas en la consulta.

 

Module: El esquema, aplicación y página de APEX donde se ejecuto el SQL por última vez.

CPU: Tiempo de CPU en segundos que este SQL tomó en ejecutarse la última vez.

Buffer Gets / Rows Processed: El número de bloques leídos dividido por el número de filas devuelto. Será nulo si las filas procesadas son cero.

Action: El punto en que se está ejecutando el SQL en la página de APEX.

Disk Reads: La cantidad de bloques leídos desde el disco la última vez que se ejecutó este SQL.

Buffer Gets / Executions: Número de bloques leídos dividido por el número de veces que se ejecutó una consulta. Entre más alto sea el valor indica un mayor número de lecturas de bloques por ejecución.

Executions: Número de veces que se ha ejecutado este SQL.

Rows Processed: Número de filas que este SQL devolvió la última vez que se ejecutó.

Buffer Gets: Número de bloques en memoria a los que accedió este SQL la última vez que se ejecutó.

 

Nota: Las imágenes se presentaron en Inglés porque se entiende mejor que la traducción realizada en Español.