STL_VACUUM - 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_VACUUM

Visualizza statistiche di riga e di blocco per le tabelle sottoposte a vacuum.

La vista mostra informazioni relative al momento in cui ogni operazione di vacuum è stata avviata o terminata e dimostra i benefici nell'esecuzione dell'operazione. Per informazioni sui requisiti per l'esecuzione di questo comando, consultare la descrizione di comando VACUUM.

STL_VACUUM è visibile solo agli utenti con privilegi avanzati. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.

Alcuni o tutti i dati di questa tabella sono definiti anche nella vista di monitoraggio SYS SYS_VACUUM_HISTORY. I dati nella vista di monitoraggio SYS sono formattati in modo da essere più facili da usare e comprendere. Ti consigliamo di utilizzare la vista di monitoraggio SYS per le query.

Colonne di tabella

Nome colonna Tipo di dati Descrizione
userid integer L'ID dell'utente che ha generato la voce.
xid bigint ID di transazione per l'istruzione VACUUM. Puoi collegare questa tabella alla vista STL_QUERY per visualizzare le singole istruzioni SQL eseguite per una determinata transazione VACUUM. Se sottoponi a vacuum l'intero database, ogni tabella è sottoposta a vacuum in una transazione separata.
table_id integer L'ID della tabella.
status character(30)

Lo stato dell'operazione VACUUM per ogni tabella. I valori possibili sono i seguenti:

  • Started

  • Started Delete Only

  • Started Delete Only (Sorted >= nn%)

    Solo la fase di eliminazione è stata avviata per un VACUUM FULL. La fase di ordinamento è stata ignorata perché la tabella era stata già ordinata alla soglia di ordinamento o al di sopra di essa.

  • Started Sort Only

  • Started Ranged Partition

  • Started Reindex

  • Finished

    Ora in cui l'operazione è stata completata per la tabella. Per scoprire quanto tempo ha impiegato un'operazione di vacuum su una particolare tabella, sottrai l'ora di inizio dall'ora di fine per un ID di transazione e un ID di tabella specifici.

  • Skipped

    La tabella è stata ignorata perché era stata completamente ordinata e non erano state contrassegnate righe per l'eliminazione.

  • Skipped (delete only)

    La tabella è stata ignorata perché è stato specificato DELETE ONLY e non sono state contrassegnate righe per l'eliminazione.

  • Skipped (sort only)

    La tabella è stata ignorata perché è stato specificato SORT ONLY e la tabella era già stata completamente ordinata.

  • Skipped (sort only, sorted>=xx%)

    La tabella è stata ignorata perché è stato specificato SORT ONLY e la tabella era già stata ordinata alla soglia di ordinamento o al di sopra di essa.

  • Skipped (0 rows)

    La tabella è stata ignorata perché vuota.

  • VacuumBG

    Un'operazione vacuum automatica è stata eseguita in background. Questo stato viene anteposto agli altri stati quando vengono eseguiti automaticamente. Ad esempio, un'operazione vacuum di sola eliminazione eseguita automaticamente avrebbe una riga iniziale con lo stato [VacuumBG] Started Delete Only.

Per ulteriori informazioni sull'impostazione della soglia di ordinamento di VACUUM, consultare VACUUM.

righe bigint L'effettivo numero di righe nella tabella più le righe eliminate ancora archiviate su disco (in attesa di essere sottoposte a vacuum). Questa colonna mostra il conteggio prima dell'avvio del vacuum per le righe con uno stato Started e il conteggio dopo il vacuum per le righe con uno stato Finished.
sortedrows integer Il numero di righe che sono state ordinate nella tabella. Questa colonna mostra il conteggio prima dell'avvio del vacuum per le righe con uno stato Started nella colonna di stato e il conteggio dopo il vacuum per le righe con uno stato Finished nella colonna di stato.
blocks integer Il numero totale di blocchi di dati utilizzati per archiviare i dati della tabella prima dell'operazione di vacuum (righe con uno stato Started) e dopo di essa (colonna Finished). Ogni blocco di dati utilizza 1 MB.
max_merge_partitions integer Questa colonna viene utilizzata per l'analisi delle prestazioni e rappresenta il numero massimo di partizioni che il vacuum può elaborare per la tabella per ogni iterazione di fase di unione. (Il vacuum ordina la regione non ordinata in una o più partizioni ordinate. A seconda del numero di colonne nella tabella e della configurazione attuale di Amazon Redshift, la fase di unione può elaborare un numero massimo di partizioni in una singola interazione di unione. La fase di unione continuerà a funzionare se il numero di partizioni ordinate supera il numero massimo di partizioni di unione, ma saranno necessarie altre iterazioni di unione).
eventtime timestamp Il momento in cui l'operazione di vacuum è stata avviata o terminata.
reclaimable_rows bigint Il numero di righe recuperabili per il cutoff_xid corrente. Questa colonna mostra il numero stimato di righe recuperabili di Redshift prima dell'inizio dell'operazione vacuum per le righe con uno stato Started e il numero effettivo di righe recuperabili rimanenti dopo l'operazione vacuum per le righe con uno stato Finished.
reclaimable_space_mb bigint Spazio recuperabile in MB per il cutoff_xid corrente. Questa colonna mostra la quantità di spazio recuperabile stimata di Redshift prima dell'inizio dell'operazione vacuum per le righe con uno stato Started e la quantità effettiva di spazio recuperabile rimanente dopo l'operazione vacuum per le righe con uno stato Finished.
cutoff_xid bigint ID di transazione limite dell'operazione VACUUM. Eventuali transazioni successive al limite non sono incluse nell'operazione VACUUM.
is_recluster integer Se 1 (true), l'operazione VACUUM ha eseguito l'algoritmo recluster; se 0 (false), non c'è stata alcuna esecuzione.

Query di esempio

La seguente query dichiara le statistiche di vacuum per la tabella 108313. La tabella è stata sottoposta a vacuum in seguito a una serie di inserimenti ed eliminazioni.

select xid, table_id, status, rows, sortedrows, blocks, eventtime, reclaimable_rows, reclaimable_space_mb from stl_vacuum where table_id=108313 order by eventtime; xid | table_id | status | rows | sortedrows | blocks | eventtime | reclaimable_rows | reclaimable_space_mb -------+----------+-------------------------+------+------------+--------+----------------------+------------------+---------------------- 14294 | 108313 | Started | 1950 | 408 | 28 | 2016-05-19 17:36:01 | 984 | 17 14294 | 108313 | Finished | 966 | 966 | 11 | 2016-05-19 18:26:13 | 0 | 0 15126 | 108313 | Skipped(sorted>=95%) | 966 | 966 | 11 | 2016-05-19 18:26:38 | 0 | 0

All'inizio dell'operazione VACUUM, la tabella conteneva 1.950 righe archiviate in 28 blocchi da 1 MB. Amazon Redshift ha stimato di poter recuperare 984 righe, o 17 blocchi di spazio su disco, con un'operazione vacuum.

Nella riga dello stato Finished, la colonna ROWS mostra un valore di 966 e il valore della colonna BLOCKS è 11, rispetto a 28. L'operazione vacuum ha recuperato la quantità stimata di spazio su disco, senza righe o spazio recuperabili restanti dopo il completamento dell'operazione vacuum.

Nella fase di ordinamento (transazione 15126), il vacuum è riuscito a ignorare la tabella perché le righe sono state inserite nell'ordine della chiave di ordinamento.

Il seguente esempio mostra le statistiche per un vacuum SORT ONLY sulla tabella SALES (tabella 110116 in questo esempio) dopo una lunga operazione INSERT:

vacuum sort only sales; select xid, table_id, status, rows, sortedrows, blocks, eventtime from stl_vacuum order by xid, table_id, eventtime; xid |table_id| status | rows |sortedrows|blocks| eventtime ----+--------+-----------------+-------+----------+------+-------------------- ... 2925| 110116 |Started Sort Only|1379648| 172456 | 132 | 2011-02-24 16:25:21... 2925| 110116 |Finished |1379648| 1379648 | 132 | 2011-02-24 16:26:28...