STL_QUERY - Amazon Redshift

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à.

STL_QUERY

Restituisce informazioni di esecuzione su una query del database.

Nota

Le QUERYTEXT viste STL _ QUERY e STL _ contengono solo informazioni sulle interrogazioni, non altre utilità e DDL comandi. Per un elenco e informazioni su tutte le dichiarazioni eseguite da Amazon Redshift, puoi anche interrogare le viste STL _ DDLTEXT e STL _UTILITYTEXT. Per un elenco completo di tutte le istruzioni eseguite da Amazon Redshift, puoi eseguire una query su SVL _ STATEMENTTEXT view.

STL_ QUERY è 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 da comprendere. Ti consigliamo di utilizzare la visualizzazione di SYS monitoraggio per le tue domande.

Colonne di tabella

Nome colonna Tipo di dati Descrizione
userid integer ID dell'utente che ha generato la voce.
query integer ID query. La colonna di query può essere utilizzata per unire altre tabelle e visualizzazioni del sistema.
etichetta character(320) Il nome del file utilizzato per eseguire la query o un'etichetta definita con un GROUP comando SET QUERY _. Se la query non è basata su file o il GROUP parametro QUERY _ non è impostato, il valore del campo è. default
xid bigint ID transazione.
pid integer ID processo. In genere, tutte le query in una sessione sono eseguite nello stesso processo, quindi questo valore di solito rimane costante se esegui una serie di query nella stessa sessione. In seguito a determinati eventi interni, Amazon Redshift potrebbe riavviare una sessione attiva e assegnarne una nuova. PID Per ulteriori informazioni, consulta STL_RESTARTED_SESSIONS.
database character(32) Il nome del database al quale l'utente era collegato al momento del rilascio della query.
querytxt character(4000) Testo reale di query per la query.
starttime timestamp Ora in cui UTC è iniziata la query. Il tempo totale include l'inserimento in coda e l'esecuzione, con precisione a 6 cifre per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.131358.
endtime timestamp Ora in UTC cui la query è terminata. Il tempo totale include l'inserimento in coda e l'esecuzione, con precisione a 6 cifre per le frazioni di secondo. Ad esempio: 2009-06-12 11:29:19.131358.
aborted integer Se la query è stata interrotta dal sistema o annullata dall'utente, questa colonna contiene 1. Se la query è stata eseguita fino a completamento (inclusa la restituzione dei risultati al client), questa colonna contiene 0. Se un client si disconnette prima di ricevere i risultati, la query sarà contrassegnata come annullata (1), anche se il completamento è riuscito nel back-end.
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 di dimensionamento della concorrenza. I valori possibili sono i seguenti:

0 - Eseguita nel cluster principale

1 - Eseguita in un cluster con dimensionamento simultaneo

Superiore a 1 - Eseguita nel cluster principale

Query di esempio

La query seguente elenca le cinque query più recenti.

select query, trim(querytxt) as sqlquery from stl_query order by query desc limit 5; query | sqlquery ------+-------------------------------------------------- 129 | select query, trim(querytxt) from stl_query order by query; 128 | select node from stv_disk_read_speeds; 127 | select system_status from stv_gui_status 126 | select * from systable_topology order by slice 125 | load global dict registry (5 rows)

La query seguente restituisce il tempo trascorso in ordine decrescente per le query eseguite il 15 febbraio 2013.

select query, datediff(seconds, starttime, endtime), trim(querytxt) as sqlquery from stl_query where starttime >= '2013-02-15 00:00' and endtime < '2013-02-16 00:00' order by date_diff desc; query | date_diff | sqlquery -------+-----------+------------------------------------------- 55 | 119 | padb_fetch_sample: select count(*) from category 121 | 9 | select * from svl_query_summary; 181 | 6 | select * from svl_query_summary where query in(179,178); 172 | 5 | select * from svl_query_summary where query=148; ... (189 rows)

La seguente query mostra il tempo di attesa in coda e il tempo di esecuzione delle query. Le query con concurrency_scaling_status = 1 sono state eseguite in un cluster di dimensionamento della concorrenza. Tutte le altre query sono state eseguite nel cluster principale.

SELECT w.service_class AS queue , q.concurrency_scaling_status , COUNT( * ) AS queries , SUM( q.aborted ) AS aborted , SUM( ROUND( total_queue_time::NUMERIC / 1000000,2 ) ) AS queue_secs , SUM( ROUND( total_exec_time::NUMERIC / 1000000,2 ) ) AS exec_secs FROM stl_query q JOIN stl_wlm_query w USING (userid,query) WHERE q.userid > 1 AND service_class > 5 AND q.starttime > '2019-03-01 16:38:00' AND q.endtime < '2019-03-01 17:40:00' GROUP BY 1,2 ORDER BY 1,2;