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

STV_BLOCKLIST

STV_ BLOCKLIST contiene il numero di blocchi di disco da 1 MB utilizzati da ogni sezione, tabella o colonna di un database.

Utilizzate le query aggregate con STV _BLOCKLIST, come illustrato negli esempi seguenti, per determinare il numero di blocchi di disco da 1 MB allocati per database, tabella, slice o colonna. È possibile anche utilizzare STV_PARTITIONS per visualizzare informazioni di riepilogo sull'utilizzo del disco.

STV_ BLOCKLIST è visibile solo ai superutenti. Per ulteriori informazioni, consulta Visibilità dei dati nelle tabelle e nelle viste di sistema.

Nota

STV_ registra BLOCKLIST solo i blocchi di proprietà del cluster o dello spazio dei nomi serverless fornito. Se il database include blocchi condivisi da un produttore di datashare, tali blocchi non sono inclusi in _. STV BLOCKLIST Per ulteriori informazioni sui datashare, vai a. Condivisione dei dati in Amazon Redshift

Colonne di tabella

Nome colonna Tipo di dati Descrizione
sezione integer Sezione del nodo.
col integer Indice in base zero della colonna. A ogni tabella che crei vengono aggiunte tre colonne nascoste: INSERT _ XIDXID, DELETE _ e ROW _ID (). OID Una tabella con 3 colonne definite dall'utente contiene 6 colonne effettive e le colonne definite dall'utente sono numerate 0, 1 e 2. In INSERT questo XID esempio, le colonne DELETE _XID, _ e ROW _ID sono numerate rispettivamente 3, 4 e 5.
tbl integer ID di tabella della tabella di database.
blocknum integer ID del blocco di dati.
num_values integer Numero di valori contenuti nel blocco.
extended_limits integer Per uso interno.
minvalue bigint Valore di dati minimo del blocco. Memorizza i primi otto caratteri come valore integer a 64 bit per dati non numerici. Utilizzato per la scansione del disco.
maxvalue bigint Valore di dati massimo del blocco. Memorizza i primi otto caratteri come valore integer a 64 bit per dati non numerici. Utilizzato per la scansione del disco.
sb_pos integer Identificatore interno di Amazon Redshift per la posizione del super blocco sul disco.
pinned integer Indica se il blocco è aggiunto o meno nella memoria come parte del precaricamento. 0 = false; 1 = true. Il valore predefinito è false.
on_disk integer Indica se il blocco è archiviato automaticamente sul disco o meno. 0 = false; 1 = true. Il valore predefinito è false.
modified integer Indica se il blocco è stato modificato o meno. 0 = false; 1 = true. Il valore predefinito è false.
hdr_modified integer Indica se l'intestazione del blocco è stata modificata o meno. 0 = false; 1 = true. Il valore predefinito è false.
unsorted integer Indica se il blocco è non ordinato o meno. 0 = false; 1 = true. Il valore predefinito è true.
tombstone integer Per uso interno.
preferred_diskno integer Numero di disco su cui il blocco deve trovarsi, salvo in caso di errore del disco. Dopo la correzione del disco, il blocco ritorna su questo disco.
temporary integer Indica se il blocco contiene o meno dati temporanei, ad esempio di una tabella temporanea o di risultati intermedi delle query. 0 = false; 1 = true. Il valore predefinito è false.
newblock integer Indica se un blocco è nuovo (true) o se non ne è mai stato eseguito il commit sul disco (false). 0 = false; 1 = true.
num_readers integer Numero di riferimenti su ogni blocco.
flags integer Flag interni di Amazon Redshift per l'intestazione del blocco.

Query di esempio

STV_ BLOCKLIST contiene una riga per blocco di disco allocato, quindi una query che seleziona tutte le righe restituisce potenzialmente un numero molto elevato di righe. Si consiglia di utilizzare solo query aggregate con _. STV BLOCKLIST

La SVV_DISKUSAGE vista fornisce informazioni simili in un formato più intuitivo; tuttavia, l'esempio seguente mostra un utilizzo della tabella _. STV BLOCKLIST

Per determinare il numero di blocchi da 1 MB utilizzati da ciascuna colonna della VENUE tabella, digitate la seguente query:

select col, count(*) from stv_blocklist, stv_tbl_perm where stv_blocklist.tbl = stv_tbl_perm.id and stv_blocklist.slice = stv_tbl_perm.slice and stv_tbl_perm.name = 'venue' group by col order by col;

Questa query restituisce il numero di blocchi da 1 MB allocati a ciascuna colonna della VENUE tabella, mostrato dai seguenti dati di esempio:

col | count -----+------- 0 | 4 1 | 4 2 | 4 3 | 4 4 | 4 5 | 4 7 | 4 8 | 4 (8 rows)

La seguente query indica se i dati della tabella sono effettivamente distribuiti a tutte le sezioni:

select trim(name) as table, stv_blocklist.slice, stv_tbl_perm.rows from stv_blocklist,stv_tbl_perm where stv_blocklist.tbl=stv_tbl_perm.id and stv_tbl_perm.slice=stv_blocklist.slice and stv_blocklist.id > 10000 and name not like '%#m%' and name not like 'systable%' group by name, stv_blocklist.slice, stv_tbl_perm.rows order by 3 desc;

Questa query produce il seguente output di esempio, che illustra la distribuzione omogenea dei dati della tabella con la maggior parte delle righe:

table | slice | rows ----------+-------+------- listing | 13 | 10527 listing | 14 | 10526 listing | 8 | 10526 listing | 9 | 10526 listing | 7 | 10525 listing | 4 | 10525 listing | 17 | 10525 listing | 11 | 10525 listing | 5 | 10525 listing | 18 | 10525 listing | 12 | 10525 listing | 3 | 10525 listing | 10 | 10525 listing | 2 | 10524 listing | 15 | 10524 listing | 16 | 10524 listing | 6 | 10524 listing | 19 | 10524 listing | 1 | 10523 listing | 0 | 10521 ... (180 rows)

La seguente query determina se è stato eseguito il commit sul disco di qualsiasi blocco rimosso definitivamente:

select slice, col, tbl, blocknum, newblock from stv_blocklist where tombstone > 0; slice | col | tbl | blocknum | newblock -------+-----+--------+----------+---------- 4 | 0 | 101285 | 0 | 1 4 | 2 | 101285 | 0 | 1 4 | 4 | 101285 | 1 | 1 5 | 2 | 101285 | 0 | 1 5 | 0 | 101285 | 0 | 1 5 | 1 | 101285 | 0 | 1 5 | 4 | 101285 | 1 | 1 ... (24 rows)