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à.
SVCS_QUERY_SUMMARY
Utilizzate la SUMMARY vista SVCS QUERY _ _ per trovare informazioni generali sull'esecuzione di un'interrogazione.
Nota che le informazioni in SVCS _ QUERY _ SUMMARY sono aggregate da tutti i nodi.
Nota
La SUMMARY vista SVCS QUERY _ _ contiene solo informazioni sulle query completate da Amazon Redshift, non altre utilità DDL e comandi. Per un elenco completo e informazioni su tutti i rendiconti compilati da Amazon Redshift, inclusi DDL i comandi di utilità, puoi eseguire una query su SVL _ STATEMENTTEXT view.
Le viste di sistema con il prefisso SVCS forniscono dettagli sulle interrogazioni sui cluster di scalabilità principale e simultanea. Le viste sono simili a quelle con il prefisso, SVL tranne per il fatto che forniscono informazioni solo per le query eseguite SVL sul cluster principale.
SVCS_ QUERY _ SUMMARY è 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_DETAIL. 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.
Per informazioni su SVL _ QUERY _SUMMARY, vedereSVL_QUERY_SUMMARY.
Colonne di tabella
Nome colonna | Tipo di dati | Descrizione |
---|---|---|
userid | integer | ID dell'utente che ha generato la voce. |
query | integer | ID query. Consente di unire in join varie altre tabelle e visualizzazioni di sistema. |
stm | integer | Flusso: un insieme di segmenti simultanei in una query. Una query ha uno o più flussi. |
seg | integer | Numero di segmento. Una query consiste in più segmenti e ogni segmento consiste in una o più fasi. I segmenti di query possono essere eseguiti in parallelo. Ogni segmento viene eseguito in un singolo processo. |
step | integer | La fase di query eseguita. |
maxtime | bigint | Quantità di tempo massima per l'esecuzione della fase (in microsecondi). |
avgtime | bigint | Tempo medio per l'esecuzione della fase (in microsecondi). |
righe | bigint | Numero di righe di dati coinvolte nella fase di query. |
bytes | bigint | Numero di byte di dati coinvolti nella fase di query. |
rate_row | double precision | Velocità di esecuzione di query per riga. |
rate_byte | double precision | Velocità di esecuzione di query per byte. |
etichetta | text | Etichetta di fase, che consiste in un nome di fase di query e, quando applicabile, in un ID di tabella e in un nome di tabella (per esempio, scan tbl=100448 name =user). Le tabelle a tre cifre si riferiscono in IDs genere alle scansioni di tabelle transitorie. Quando viene visualizzato tbl=0 , in genere fa riferimento a una scansione di un valore costante. |
is_diskbased | character(1) | Se questa fase della query è stata eseguita come operazione basata su disco su qualsiasi nodo nel cluster: true (t ) o false (f ). Solo determinate fasi, come hash, sort e le fasi di aggregazione, possono accedere al disco. Molti tipi di fase sono sempre eseguiti in memoria. |
workmem | bigint | Quantità di memoria di lavoro (in byte) assegnata alla fase di query. |
is_rrscan | character(1) | Se true (t ), indica che in questa fase è stata utilizzata la scansione a intervallo limitato. Il valore predefinito è false (f ). |
is_delayed_scan | character(1) | Se true (t ), indica che in questa fase è stata utilizzata la scansione ritardata. Il valore predefinito è false (f ). |
rows_pre_filter | bigint | Per le scansioni di tabelle permanenti, il numero totale di righe emesse prima di aver applicato filtri alle righe contrassegnate per l'eliminazione (righe fantasma). |
Query di esempio
Visualizzazione delle informazioni di elaborazione per una fase di query
La query seguente mostra le informazioni di elaborazione di base per ogni fase della query 87:
select query, stm, seg, step, rows, bytes from svcs_query_summary where query = 87 order by query, seg, step;
Questa query recupera le informazioni di elaborazione relative alla query 87, come mostrato nel seguente output di esempio:
query | stm | seg | step | rows | bytes -------+-----+-----+------+--------+--------- 87 | 0 | 0 | 0 | 90 | 1890 87 | 0 | 0 | 2 | 90 | 360 87 | 0 | 1 | 0 | 90 | 360 87 | 0 | 1 | 2 | 90 | 1440 87 | 1 | 2 | 0 | 210494 | 4209880 87 | 1 | 2 | 3 | 89500 | 0 87 | 1 | 2 | 6 | 4 | 96 87 | 2 | 3 | 0 | 4 | 96 87 | 2 | 3 | 1 | 4 | 96 87 | 2 | 4 | 0 | 4 | 96 87 | 2 | 4 | 1 | 1 | 24 87 | 3 | 5 | 0 | 1 | 24 87 | 3 | 5 | 4 | 0 | 0 (13 rows)
Determinare se le fasi della query si sono riversate sul disco
La query seguente mostra se una delle fasi della query con l'ID query 1025 si è riversata o meno sul disco (consultare la visualizzazione SVL_QLOG per scoprire come ottenere l'ID query di una query) o se la query è stata eseguita interamente in memoria:
select query, step, rows, workmem, label, is_diskbased from svcs_query_summary where query = 1025 order by workmem desc;
Questa query restituisce il seguente output di esempio:
query| step| rows | workmem | label | is_diskbased -----+-----+--------+-----------+---------------+-------------- 1025 | 0 |16000000| 141557760 |scan tbl=9 | f 1025 | 2 |16000000| 135266304 |hash tbl=142 | t 1025 | 0 |16000000| 128974848 |scan tbl=116536| f 1025 | 2 |16000000| 122683392 |dist | f (4 rows)
Scansionando i valori di IS_DISKBASED, è possibile vedere quali passaggi di interrogazione sono stati inviati al disco. Per la query 1025, la fase di hash è stata eseguita su disco. Le fasi che possono essere eseguite su disco includono hash, aggr e le fasi di ordinamento. Per visualizzare solo i passaggi di interrogazione basati su disco, aggiungi una and
is_diskbased = 't'
clausola all'SQListruzione nell'esempio precedente.