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.
SVCS_QUERY_SUMMARY
Utilisez la SUMMARY vue SVCS QUERY _ _ pour trouver des informations générales sur l'exécution d'une requête.
Notez que les informations contenues dans SVCS _ QUERY _ SUMMARY sont agrégées à partir de tous les nœuds.
Note
La SUMMARY vue SVCS _ QUERY _ contient uniquement des informations sur les requêtes effectuées par Amazon Redshift, et DDL non sur d'autres utilitaires ou commandes. Pour obtenir une liste complète et des informations sur toutes les instructions effectuées par Amazon Redshift, y compris DDL les commandes utilitaires, vous pouvez interroger la vue SVL _STATEMENTTEXT.
Les vues du système avec le préfixe SVCS fournissent des détails sur les requêtes sur les clusters de dimensionnement principaux et simultanés. Les vues sont similaires aux vues préfixées, SVL sauf qu'elles fournissent des informations uniquement pour les requêtes exécutées sur le cluster principal. SVL
SVCS_ QUERY _ SUMMARY 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 de plus amples informations, veuillez consulter Visibilité des données dans les tables et vues système.
Certaines ou toutes les données de ce tableau se trouvent également dans la vue SYS de surveillanceSYS_QUERY_DETAIL. Les données de la vue SYS de surveillance sont formatées pour être plus faciles à utiliser et à comprendre. Nous vous recommandons d'utiliser la vue SYS de surveillance pour vos requêtes.
Pour plus d'informations sur SVL QUERY _ _SUMMARY, consultezSVL_QUERY_SUMMARY.
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. |
stm | entier | Flux : ensemble de segments simultanés d’une requête. Une requête possède un ou plusieurs flux. |
seg | entier | Numéro de segment. 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 | Étape de la requête exécutée. |
maxtime | bigint | Durée maximale (en microsecondes) d’exécution de l’étape. |
avgtime | bigint | Durée moyenne (en microsecondes) d’exécution de l’étape. |
rows | bigint | Nombre de lignes de données impliquées dans l’étape de requête. |
bytes | bigint | Nombre d’octets de données impliqués dans l’étape de requête. |
rate_row | double precision | Taux d’exécution de la requête par ligne. |
rate_byte | double precision | Taux d’exécution de la requête par octet. |
étiquette | text | Étiquette de l’étape, qui se compose d’un nom d’étape de requête et, le cas échéant, d’un ID de table et d’un nom de table (par exemple, scan tbl=100448 name =user). Les tables à trois chiffres font IDs généralement référence à des scans de tables transitoires. Lorsque tbl=0 s’affiche, cela fait généralement référence à une analyse d’une valeur constante. |
is_diskbased | character(1) | Indique si cette étape de la requête a été exécutée comme opération sur disque sur un nœud du cluster : 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. |
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 ). |
rows_pre_filter | bigint | Pour les analyses des tables permanentes, le nombre total de lignes émises avant le filtrage des lignes marquées comme devant être supprimées (lignes fantôme). |
Exemples de requêtes
Affichage des informations de traitement d’une étape de requête
La requête suivante affiche les informations de traitement de base de chaque étape de la requête 87 :
select query, stm, seg, step, rows, bytes from svcs_query_summary where query = 87 order by query, seg, step;
Cette requête extrait les informations de traitement de la requête 87, comme illustré dans l’exemple de sortie suivant :
query | stm | seg | step | rows | bytes -------+-----+-----+------+--------+--------- 87 | 0 | 0 | 0 | 90 | 1890 87 | 0 | 0 | 2 | 90 | 360 87 | 0 | 1 | 0 | 90 | 360 87 | 0 | 1 | 2 | 90 | 1440 87 | 1 | 2 | 0 | 210494 | 4209880 87 | 1 | 2 | 3 | 89500 | 0 87 | 1 | 2 | 6 | 4 | 96 87 | 2 | 3 | 0 | 4 | 96 87 | 2 | 3 | 1 | 4 | 96 87 | 2 | 4 | 0 | 4 | 96 87 | 2 | 4 | 1 | 1 | 24 87 | 3 | 5 | 0 | 1 | 24 87 | 3 | 5 | 4 | 0 | 0 (13 rows)
Détermination si les étapes de requête ont été répandues sur le disque
La requête suivante indique si l’une des étapes de la requête avec l’ID de requête 1025 (voir la vue SVL_QLOG pour apprendre à obtenir l’ID d’une requête) a été répandue sur le disque ou si la requête a été entièrement exécutée en mémoire :
select query, step, rows, workmem, label, is_diskbased from svcs_query_summary where query = 1025 order by workmem desc;
Cette requête renvoie l’exemple de sortie suivant :
query| step| rows | workmem | label | is_diskbased -----+-----+--------+-----------+---------------+-------------- 1025 | 0 |16000000| 141557760 |scan tbl=9 | f 1025 | 2 |16000000| 135266304 |hash tbl=142 | t 1025 | 0 |16000000| 128974848 |scan tbl=116536| f 1025 | 2 |16000000| 122683392 |dist | f (4 rows)
En scannant les valeurs de IS_DISKBASED, vous pouvez voir quelles étapes de requête ont été transférées sur le disque. Pour la requête 1025, l’étape de hachage a été exécutée sur le disque. Les étapes susceptibles de s’exécuter sur disque incluent les étapes de hachage, d’agrégation et de tri. Pour afficher uniquement les étapes de requête sur disque, ajoutez une and
is_diskbased = 't'
clause à l'SQLinstruction dans l'exemple ci-dessus.