Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
STV_INFLIGHT
Utilizza la INFLIGHT tabella STV _ per determinare quali query sono attualmente in esecuzione sul cluster. Se stai risolvendo problemi, è utile per controllare lo stato delle query di lunga durata.
STV_ INFLIGHT non mostra solo le interrogazioni relative al nodo principale. Per ulteriori informazioni, consulta Nodo principale: solo funzioni. STV_ INFLIGHT è visibile a tutti gli utenti. Gli utenti con privilegi avanzati visualizzano tutte le righe; gli utenti regolari visualizzano solo i propri dati. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.
Alcuni o tutti i dati di questa tabella sono disponibili anche nella visualizzazione di SYS monitoraggioSYS_QUERY_HISTORY. I dati nella visualizzazione di SYS monitoraggio sono formattati per essere più facili da usare e comprendere. Ti consigliamo di utilizzare la visualizzazione di SYS monitoraggio per le tue domande.
Risoluzione dei problemi con _ STV INFLIGHT
Se utilizzi STV _ INFLIGHT per risolvere i problemi relativi alle prestazioni di una query o di una raccolta di query, tieni presente quanto segue:
Le transazioni aperte a lungo termine generalmente aumentano il carico. Queste transazioni aperte possono comportare tempi di esecuzione più lunghi per altre domande.
I ETL processi COPY e quelli di lunga durata possono influire su altre query in esecuzione sul cluster, se richiedono molte risorse di elaborazione. Nella maggior parte dei casi, lo spostamento di questi processi di lunga durata in periodi di scarso utilizzo aumenta le prestazioni per i carichi di lavoro di reporting o analisi.
Esistono viste che forniscono informazioni correlate a _. STV INFLIGHT Queste includonoSTL_QUERYTEXT, che acquisisce il testo della query per SQL i comandi e SVV_QUERY_INFLIGHT che unisce STV _ INFLIGHT a STL _. QUERYTEXT Puoi anche usare STV_RECENTS con STV _ INFLIGHT per la risoluzione dei problemi. Ad esempio, STV _ RECENTS può indicare se le query specifiche si trovano nello stato In esecuzione o Completata. La combinazione di queste informazioni con i risultati di STV _ INFLIGHT può fornire ulteriori informazioni sulle proprietà di una query e sull'impatto sulle risorse di calcolo.
Puoi anche monitorare le query in esecuzione utilizzando la console Amazon Redshift.
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
userid | integer | ID dell'utente che ha generato la voce. |
sezione | integer | Sezione in cui viene eseguita la query. |
query | integer | ID query. Consente di unire in join varie altre tabelle e visualizzazioni di sistema. |
etichetta | character(320) | Il nome del file utilizzato per eseguire la query o un'etichetta definita con un comando SET QUERY _GROUP. Se la query non è basata su file o il GROUP parametro QUERY _ non è impostato, questo campo è vuoto. |
xid | bigint | ID transazione. |
pid | integer | ID processo. Tutte le query in una sessione sono eseguite nello stesso processo, quindi questo valore rimane costante se si esegue una serie di query nella stessa sessione. È possibile utilizzare questa colonna per eseguire la connessione alla tabella STL_ERROR. |
starttime | timestamp | Ora in cui è stata avviata la query. |
text | character(100) | Testo di query troncato a 100 caratteri se l'istruzione supera quel limite. |
sospeso | integer | Indica se la query è sospesa. 0 = false; 1 = true. |
insert_pristine | integer | Indica se l'esecuzione delle query di scrittura è/era possibile quando la query corrente è/era in esecuzione. 1 = nessuna query di scrittura consentita. 0 = query di scrittura consentite. Questa colonna è da utilizzarsi per scopi di debug. |
concurrency_scaling_status | integer | Indica se la query è stata eseguita nel cluster principale o in un cluster con dimensionamento simultaneo. I valori possibili sono i seguenti: 0 - Eseguita nel cluster principale 1 - Eseguita in un cluster con dimensionamento simultaneo |
Query di esempio
Per visualizzare tutte le query attive correntemente in esecuzione sul database, digita la seguente query:
select * from stv_inflight;
L'output di esempio riportato di seguito mostra due query attualmente in esecuzione, inclusa la INFLIGHT query STV _ stessa e una query eseguita da uno script chiamato: 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 seguente query seleziona diverse colonne, tra cui concurrency_scaling_status. Questa colonna indica se le query vengono inviate al cluster con scalabilità concorrenziale. Se il valore è 1
per alcuni risultati, indica che vengono utilizzate risorse di elaborazione con scalabilità concorrenziale. Per ulteriori informazioni, consulta Dimensionamento simultaneo.
select userid, query, pid, starttime, text, suspended, concurrency_scaling_status from STV_INFLIGHT;
L'output di esempio mostra l'invio di una query al cluster di scalabilità concorrenziale.
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)
Per ulteriori suggerimenti sulla risoluzione dei problemi relativi alle prestazioni delle query, vedere Risoluzione dei problemi delle query.