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 table STV_INFLIGHT 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’indique pas les requêtes de nœud principal uniquement. 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.
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.
Résolution des problèmes avec STV_INFLIGHT
Si vous utilisez STV_INFLIGHT pour résoudre des problèmes de performances pour une requête ou un ensemble de requêtes, notez les points suivants :
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 tâches COPY et ETL de longue durée peuvent affecter les autres requêtes s’exécutant sur le cluster, si elles consomment 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. Tel est notamment le cas de STL_QUERYTEXT, qui capture le texte de requête pour les commandes SQL, et de SVV_QUERY_INFLIGHT, qui joint STV_INFLIGHT à STL_QUERYTEXT. Vous pouvez également utiliser STV_RECENTS avec STV_INFLIGHT pour la résolution des problèmes. Par exemple, STV_RECENTS peut indiquer si des requêtes spécifiques sont à l’état En cours d’exécution ou Terminé. En combinant ces informations avec les résultats de STV_INFLIGHT, vous pouvez en savoir plus sur les propriétés d’une requête et sur son impact sur les ressources de calcul.
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) | Le nom du fichier utilisé pour exécuter la requête ou une étiquette définie avec une commande SET QUERY_GROUP. Si la requête n’est pas basée sur un fichier ou si le paramètre QUERY_GROUP n’est pas défini, le 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 are/were able to run while the current query is/was d'écriture sont en cours d'exécution. 1 = aucune requête d'écriture autorisée. 0 = requêtes d'écriture 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 illustre les deux requêtes en cours d’exécution, y compris la requête STV_INFLIGHT elle-même et une requête qui a été 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.