SVV_QUERY_STATE - 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.

SVV_QUERY_STATE

Utilisez SVV_QUERY_STATE pour afficher les informations sur l’exécution des requêtes en cours.

La vue SVV_QUERY_STATE contient un sous-ensemble de données de la table STV_EXEC_STATE.

SVV_QUERY_STATE est visible pour 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_DETAIL. 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.

Note

Cette vue n’est disponible que lors de l’interrogation des clusters alloués.

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.
query entier ID de requête. Permet de joindre d’autres tables système et vues.
seg entier Numéro du segment de requête en cours d’exécution. Une requête se compose de plusieurs segments et chaque segment d’une ou de plusieurs étapes. Les segments de requête peuvent s’exécuter en parallèle. Chaque segment s’exécute dans un processus unique.
étape entier Numéro de l’étape de requête en cours d’exécution. Une étape est la plus petite unité de l’exécution des requêtes. Chaque étape représente une unité de travail discrète, telle que l’analyse d’une table, le retour de résultats ou le tri de données.
maxtime interval Durée maximale (en microsecondes) d’exécution de l’étape.
avgtime interval Durée moyenne (en microsecondes) d’exécution de l’étape.
rows bigint Nombre de lignes générées par l’étape en cours d’exécution.
bytes bigint Nombre d’octets générés par l’étape en cours d’exécution.
cpu bigint Pour utilisation interne.
memory bigint Pour utilisation interne.
rate_row double precision ows-per-second Taux R depuis le début de la requête, calculé en additionnant les lignes et en divisant par le nombre de secondes entre le début de la requête et l'heure actuelle.
rate_byte double precision ytes-per-second Taux B depuis le début de la requête, calculé en additionnant les octets et en divisant par le nombre de secondes entre le début de la requête et l'heure actuelle.
étiquette character(25) Étiquette de requête : nom pour l’étape, comme scan ou sort.
is_diskbased character(1) Indique si l’étape de la requête s’exécute comme opération sur disque : true (t) ou false (f). Seules certaines étapes, telles que le hachage, le tri et l’agrégation, peuvent accéder au disque. La plupart des types d’étapes sont toujours exécutés en mémoire.
workmem bigint Quantité de mémoire de travail (en octets) attribuée à l’étape de requête.
num_parts entier Nombre de partitions entre lesquelles une table de hachage est divisée pendant une étape de hachage. Un nombre positif dans cette colonne n’implique pas que l’étape de hachage ait été exécutée comme opération sur disque. Vérifiez la valeur de la colonne IS_DISKBASED pour voir si l’étape de hachage était basée sur le disque.
is_rrscan character(1) Si la valeur est définie sur true (t), indique qu’une analyse à plage restreinte a été utilisée sur l’étape. La valeur par défaut est false (f).
is_delayed_scan character(1) Si la valeur est définie sur true (t), indique qu’une analyse retardée a été utilisée sur l’étape. La valeur par défaut est false (f).

Exemples de requêtes

Détermination du temps de traitement d’une requête par étape

La requête suivante affiche le délai d’exécution de chaque étape de la requête avec l’ID de requête 279 et le nombre de lignes de données traitées par Amazon Redshift :

select query, seg, step, maxtime, avgtime, rows, label from svv_query_state where query = 279 order by query, seg, step;

Cette requête extrait les informations de traitement de la requête 279, comme illustré dans l’exemple de sortie suivant :

query | seg | step | maxtime | avgtime | rows | label ------+---------+------+---------+---------+---------+------------------- 279 | 3 | 0 | 1658054 | 1645711 | 1405360 | scan 279 | 3 | 1 | 1658072 | 1645809 | 0 | project 279 | 3 | 2 | 1658074 | 1645812 | 1405434 | insert 279 | 3 | 3 | 1658080 | 1645816 | 1405437 | distribute 279 | 4 | 0 | 1677443 | 1666189 | 1268431 | scan 279 | 4 | 1 | 1677446 | 1666192 | 1268434 | insert 279 | 4 | 2 | 1677451 | 1666195 | 0 | aggr (7 rows)

Détermination si des requêtes actives sont en cours d’exécution sur le disque

La requête suivante affiche si des requêtes actives sont en cours d’exécution sur le disque :

select query, label, is_diskbased from svv_query_state where is_diskbased = 't';

Cet exemple de sortie affiche les requêtes actives en cours d’exécution sur le disque :

query | label | is_diskbased -------+--------------+-------------- 1025 | hash tbl=142 | t (1 row)