STL_WLM_QUERY - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

STL_WLM_QUERY

Contient un enregistrement de chaque tentative d’exécution d’une requête dans une classe de service gérée par WLM.

STL_WLM_QUERY est visible par tous les utilisateurs. Les super-utilisateurs peuvent voir toutes les lignes, tandis que les utilisateurs standard peuvent voir uniquement leurs propres données. Pour plus d’informations, consultez Visibilité des données dans les tables et vues système.

Tout ou partie des données de cette table sont également disponibles dans la vue de surveillance SYS SYS_QUERY_HISTORY. Les données de la vue de surveillance SYS sont formatées pour être plus faciles à utiliser et à comprendre. Nous vous recommandons d’utiliser la vue de surveillance SYS pour vos requêtes.

Colonnes de la table

Nom de la colonne Type de données Description
userid entier ID de l’utilisateur qui a généré l’entrée.
xid entier ID de transaction de la requête ou sous-requête.
tâche entier ID utilisé pour suivre une requête via le gestionnaire de la charge de travail. Peut être associé à plusieurs ID de requête. Si une requête est redémarrée, la requête se voit attribuer un nouvel ID de requête, mais pas un nouvel ID de tâche.
query entier ID de requête. Si une requête est redémarrée, la requête se voit attribuer un nouvel ID de requête, mais pas un nouvel ID de tâche.
service_class entier ID de la classe de service. Pour obtenir la liste des ID de classe de service, consultez ID de classe de service WLM..
slot_count entier Nombre d’emplacements de requête WLM qu’une requête utilise conformément au niveau de concurrence défini pour la file d’attente. La valeur par défaut est 1. Pour plus d’informations, consultez wlm_query_slot_count.
service_class_start_time timestamp Heure à laquelle la requête a été attribuée à la classe de service. Cette heure est définie au fuseau horaire UTC.
queue_start_time timestamp Heure à laquelle la requête a été entrée dans la file d’attente pour la classe de service. Cette heure est définie au fuseau horaire UTC.
queue_end_time timestamp Heure à laquelle la requête a quitté la file d’attente pour la classe de service. Cette heure est définie au fuseau horaire UTC.
total_queue_time bigint Nombre total de microsecondes pendant lesquelles la requête se trouvait dans la file d’attente.
exec_start_time timestamp Heure à laquelle la requête a commencé l’exécution dans la classe de service. Cette heure est définie au fuseau horaire UTC.
exec_end_time timestamp Heure à laquelle la requête a terminé l’exécution dans la classe de service. Cette heure est définie au fuseau horaire UTC.
total_exec_time bigint Nombre de microsecondes consacrées par la requête à l’exécution.
service_class_end_time timestamp Heure à laquelle la requête a quitté la classe de service. Cette heure est définie au fuseau horaire UTC.
final_state character(16) Réservé au système.
est_peak_mem bigint Réservé au système.
query_priority char(20) Priorité de la requête. Les valeurs possibles sont n/a, lowest, low, normal, high et highest, où n/a signifie que cette priorité de requête n’est pas prise en charge.
service_class_name character(64) Nom de la classe de service. Pour en savoir plus sur les classes de service, consultez Tables et vues système WLM.

Exemples de requêtes

Afficher la durée moyenne des requêtes dans les files d’attente et à l’exécution

Les requêtes suivantes affichent la configuration actuelle des classes de service supérieures à 4. Pour obtenir la liste des ID de classe de service, consultez ID de classe de service WLM..

La requête suivante renvoie la durée moyenne (en microsecondes) que chaque requête a passé dans les files d’attente de requête et à l’exécution de chaque classe de service.

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;

Cette requête renvoie l’exemple de sortie suivant :

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)

Afficher la durée maximale des requêtes dans les files d’attente et à l’exécution

La requête suivante renvoie la durée maximale (en microsecondes) qu’une requête a passé dans une file d’attente de requêtes et à l’exécution de chaque classe de service.

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)