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_RECENTS
Utilizza la RECENTS tabella STV _ per trovare informazioni sulle query attualmente attive e eseguite di recente su un database.
STV_ RECENTS è 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 RECENTS
STV_ RECENTS è particolarmente utile per determinare se una query o una raccolta di query è attualmente in esecuzione o completata. Mostra anche la durata dell'esecuzione di una query. Questo è utile per avere un'idea delle query che richiedono più tempo.
È possibile unire STV _ RECENTS ad altre viste di sistema, ad esempio STV_INFLIGHT per raccogliere metadati aggiuntivi sull'esecuzione delle query. C'è un esempio che mostra come eseguire questa operazione nella sezione delle interrogazioni di esempio. Puoi anche utilizzare i record restituiti da questa visualizzazione insieme alle funzionalità di monitoraggio della console Amazon Redshift per la risoluzione dei problemi in tempo reale.
Visualizzazioni di sistema complementari a STV _ RECENTS includonoSTL_QUERYTEXT, che recuperano il testo della query per SQL i comandi e SVV_QUERY_INFLIGHT che unisce STV _ a _. INFLIGHT STL QUERYTEXT
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
userid | integer | ID dell'utente che ha generato la voce. |
status | character(20) | Stato della query. I valori validi sono Running , Done . |
starttime | timestamp | Ora in cui è stata avviata la query. |
durata | integer | Numero di microsecondi dall'avvio della sessione. |
user_name | character(50) | Nome dell'utente che ha eseguito il processo. |
db_name | character(50) | Nome del database. |
query | character(600) | Testo della query, fino a 600 caratteri. Tutti i caratteri supplementari sono troncati. |
pid | integer | ID di processo per la sessione associata alla query, che è sempre -1 per le query completate. |
Query di esempio
Per determinare quali query sono attualmente in esecuzione nel database, esegui la seguente query:
select user_name, db_name, pid, query from stv_recents where status = 'Running';
L'output di esempio riportato di seguito mostra una singola query in esecuzione sul database: TICKIT
user_name | db_name | pid | query ----------+---------+---------+------------- dwuser | tickit | 19996 |select venuename, venueseats from venue where venueseats > 50000 order by venueseats desc;
L'esempio seguente restituisce un elenco di query (se esistenti) in esecuzione o nella coda in attesa di essere eseguite:
select * from stv_recents where status<>'Done'; status | starttime | duration |user_name|db_name| query | pid -------+---------------------+----------+---------+-------+-----------+------ Running| 2010-04-21 16:11... | 281566454| dwuser |tickit | select ...| 23347
Questa query non restituisce risultati a meno che non stai eseguendo un certo numero di query simultanee e alcune di queste sono in coda.
L'esempio seguente amplia quello precedente. In questo caso, le query che sono realmente in esecuzione e non in attesa sono escluse dal risultato:
select * from stv_recents where status<>'Done' and pid not in (select pid from stv_inflight); ...
Per ulteriori suggerimenti sulla risoluzione dei problemi relativi alle prestazioni delle query, vedere Risoluzione dei problemi delle query.