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.
STV_INFLIGHT
Utilisez la INFLIGHT table STV _ pour déterminer les requêtes en cours d'exécution sur le cluster. En phase de résolution des problèmes, cela s’avère utile pour vérifier le statut des requêtes de longue durée.
STV_ INFLIGHT n'affiche pas uniquement les requêtes du nœud leader. Pour de plus amples informations, veuillez consulter Fonctions exécutées uniquement sur le nœud principal. STV_ INFLIGHT 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_HISTORY. 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.
Résolution des problèmes avec STV _ INFLIGHT
Si vous utilisez STV _ INFLIGHT pour améliorer les performances d'une requête ou d'un ensemble de requêtes, notez ce qui suit :
Les transactions ouvertes de longue durée accroissent généralement la charge. Ces transactions ouvertes peuvent allonger le temps d’exécution des autres requêtes.
Les ETL tâches COPY et les tâches de longue durée peuvent affecter les autres requêtes exécutées sur le cluster, si elles utilisent beaucoup de ressources de calcul. Dans la plupart des cas, le fait de décaler ces tâches de longue durée sur des périodes de faible utilisation a pour effet d’accroître les performances des charges de travail analytiques ou de création de rapports.
Certaines vues fournissent des informations associées à STV _INFLIGHT. Il s'agit STL_QUERYTEXT notamment de celui qui capture le texte de la requête pour SQL les commandes et SVV_QUERY_INFLIGHT de celui qui joint STV _ INFLIGHT à STL _QUERYTEXT. Vous pouvez également utiliser STV_RECENTS avec STV _ INFLIGHT pour résoudre les problèmes. Par exemple, STV _ RECENTS peut indiquer si des requêtes spécifiques sont en cours d'exécution ou terminées. La combinaison de ces informations avec les résultats de STV _ INFLIGHT peut vous fournir plus d'informations sur les propriétés d'une requête et son impact sur les ressources informatiques.
Vous pouvez également surveiller les requêtes en cours d’exécution à l’aide de la console Amazon Redshift.
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. |
slice | entier | Tranche sur laquelle la requête s’exécute. |
query | entier | ID de requête. Permet de joindre d’autres tables système et vues. |
étiquette | caractère (320) | Soit le nom du fichier utilisé pour exécuter la requête, soit une étiquette définie par une GROUP commande SET QUERY _. Si la requête n'est pas basée sur un fichier ou si le GROUP paramètre QUERY _ n'est pas défini, ce champ est vide. |
xid | bigint | ID de transaction. |
pid | entier | ID du processus. Toutes les requêtes d’une séance étant exécutées dans le même processus, cette valeur reste constante si vous exécutez une série de requêtes dans la même séance. Vous pouvez utiliser cette colonne pour la joindre à la table STL_ERROR. |
starttime | timestamp | Heure de début de la requête. |
text | character(100) | Texte de requête, tronqué à 100 caractères, si l’instruction dépasse cette limite. |
suspended | entier | Indique si la requête est suspendue ou non. 0 = faux ; 1 = vrai. |
insert_pristine | entier | Si les requêtes d’écriture sont/ont pu être exécutées pendant que la requête actuelle est/était en cours d’exécution. 1 = aucune requête d’écriture n’est autorisée. 0 = les requêtes d’écriture sont autorisées. Cette colonne est destinée à être utilisée dans le débogage. |
concurrency_scaling_status | entier | Indique si la requête a été exécutée sur le cluster principal ou sur un cluster de mise à l’échelle de simultanéité. Les valeurs possibles sont les suivantes : 0 - Exécutée sur le cluster principal 1 - Exécutée sur un cluster de mise à l’échelle de simultanéité |
Exemples de requêtes
Pour afficher toutes les requêtes actives en cours d’exécution sur la base de données, entrez la requête suivante :
select * from stv_inflight;
L'exemple de sortie ci-dessous montre deux requêtes en cours d'exécution, dont la INFLIGHT requête STV _ elle-même et une requête exécutée à partir d'un script appelé avgwait.sql
:
select slice, query, trim(label) querylabel, pid, starttime, substring(text,1,20) querytext from stv_inflight; slice|query|querylabel | pid | starttime | querytext -----+-----+-----------+-----+--------------------------+-------------------- 1011 | 21 | | 646 |2012-01-26 13:23:15.645503|select slice, query, 1011 | 20 |avgwait.sql| 499 |2012-01-26 13:23:14.159912|select avg(datediff( (2 rows)
La requête suivante sélectionne plusieurs colonnes, dont concurrency_scaling_status. Cette colonne indique si des requêtes sont envoyées au cluster de mise à l’échelle de la simultanéité. Si la valeur est 1
pour certains résultats, cela indique que des ressources de calcul avec mise à l’échelle de la simultanéité sont utilisées. Pour de plus amples informations, veuillez consulter Mise à l’échelle de la simultanéité.
select userid, query, pid, starttime, text, suspended, concurrency_scaling_status from STV_INFLIGHT;
L’exemple de sortie montre qu’une requête est envoyée au cluster de mise à l’échelle de la simultanéité.
query | pid | starttime | text | suspended | concurrency_scaling_status --------+---------+----------------------------|------------------------|---------------|------------------------------- 1234567 | 123456 | 2012-01-26 13:23:15.645503 | select userid, query... 0 1 2345678 | 234567 | 2012-01-26 13:23:14.159912 | select avg(datediff(... 0 0 (2 rows)
Pour obtenir des conseils supplémentaires sur la résolution des problèmes liés aux performances des requêtes, consultez Résolution des problèmes de requêtes.