STL_WLM_QUERY - Amazon Redshift

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)