STL_WLM_QUERY
Presenta un registro de cada intento de ejecución de una consulta en una clase de servicio gestionada por la Workload Management (WLM, Administración de cargas de trabajo).
STL_WLM_QUERY es visible para todos los usuarios. Los superusuarios pueden ver todas las filas; los usuarios normales solo pueden ver sus datos. Para obtener más información, consulte Visibilidad de datos en las tablas y vistas de sistema.
Algunos o todos los datos de esta tabla también están en la vista de monitoreo SYS SYS_QUERY_HISTORY. Los datos de la vista de monitoreo SYS están formateados para que sean más fáciles de usar y entender. Se recomienda utilizar la vista de monitoreo SYS para las consultas.
Columnas de la tabla
Nombre de la columna | Tipo de datos: | Descripción |
---|---|---|
userid | entero | ID del usuario que generó la entrada. |
xid | entero | ID de la transacción de la consulta o de la subconsulta. |
tarea | entero | ID utilizado para hacer un seguimiento de una consulta a través del administrador de cargas de trabajo. Puede estar asociado a distintos ID de consultas. Si se reinicia una consulta, esta se asigna a un ID de consulta nuevo, pero no a un ID de tarea nuevo. |
consulta | entero | ID de la consulta. Si se reinicia una consulta, esta se asigna a un ID de consulta nuevo, pero no a un ID de tarea nuevo. |
service_class | entero | ID para la clase de servicio. Para obtener una lista de ID de clase de servicio, consulte ID de la clase de servicio WLM. |
slot_count | entero | Número de ranuras de consulta de WLM que utiliza una consulta según el nivel de simultaneidad establecido para la cola. El valor predeterminado es 1. Para obtener más información, consulte wlm_query_slot_count. |
service_class_start_time | marca de tiempo | Hora en la que se asignó la consulta a la clase de servicio. Esta hora está en la zona horaria UTC. |
queue_start_time | marca de tiempo | Hora en la que la consulta entró en la cola para la clase de servicio. Esta hora está en la zona horaria UTC. |
queue_end_time | marca de tiempo | Hora en la que la consulta salió de la cola para la clase de servicio. Esta hora está en la zona horaria UTC. |
total_queue_time | bigint | Cantidad total de microsegundos que estuvo la consulta en la cola |
exec_start_time | marca de tiempo | Hora en la que se comenzó a ejecutar la consulta en la clase de servicio. Esta hora está en la zona horaria UTC. |
exec_end_time | marca de tiempo | Hora en la que se terminó de ejecutar la consulta en la clase de servicio. Esta hora está en la zona horaria UTC. |
total_exec_time | bigint | Cantidad de microsegundos que la consulta estuvo en ejecución. |
service_class_end_time | marca de tiempo | Hora en la que la consulta salió de la clase de servicio. Esta hora está en la zona horaria UTC. |
final_state | character(16) | Reservado para el uso del sistema. |
est_peak_mem | bigint | Reservado para el uso del sistema. |
query_priority | char(20) | La prioridad de la consulta. Los valores posibles son n/a , lowest , low , normal , high y highest , donde n/a significa que no se admite la prioridad de la consulta. |
service_class_name | character(64) | Es el nombre de la clase de servicio. Para obtener más información sobre las clases de servicio, consulte las tablas y vistas de sistema de WLM. |
Consultas de ejemplo
Obtención del tiempo promedio de las consultas de las colas y en ejecución
Las siguientes consultas muestran la configuración actual de las clases de servicio mayores que 4. Para obtener una lista de ID de clase de servicio, consulte ID de la clase de servicio WLM.
La siguiente consulta devuelve el tiempo promedio (en microsegundos) que pasa cada consulta en las colas de consultas y el tiempo que están en ejecución para cada clase de servicio.
select service_class as svc_class, count(*), avg(datediff(microseconds, queue_start_time, queue_end_time)) as avg_queue_time, avg(datediff(microseconds, exec_start_time, exec_end_time )) as avg_exec_time from stl_wlm_query where service_class > 4 group by service_class order by service_class;
Esta consulta devuelve el siguiente ejemplo de salida:
svc_class | count | avg_queue_time | avg_exec_time -----------+-------+----------------+--------------- 5 | 20103 | 0 | 80415 5 | 3421 | 34015 | 234015 6 | 42 | 0 | 944266 7 | 196 | 6439 | 1364399 (4 rows)
Obtención del tiempo máximo de las consultas de las colas y en ejecución
La siguiente consulta devuelve el tiempo máximo (en microsegundos) que pasa una consulta en alguna cola de consultas y el tiempo que está en ejecución para cada clase de servicio.
select service_class as svc_class, count(*), max(datediff(microseconds, queue_start_time, queue_end_time)) as max_queue_time, max(datediff(microseconds, exec_start_time, exec_end_time )) as max_exec_time from stl_wlm_query where svc_class > 5 group by service_class order by service_class;
svc_class | count | max_queue_time | max_exec_time -----------+-------+----------------+--------------- 6 | 42 | 0 | 3775896 7 | 197 | 37947 | 16379473 (4 rows)