SVV_DISKUSAGE - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

SVV_DISKUSAGE

Amazon Redshift erstellt die Systemansicht SVV_DISKUSAGE durch Verbindung der Tabellen STV_TBL_PERM und STV_BLOCKLIST. Die Ansicht SVV_DISKUSAGE enthält Informationen zur Datenzuweisung für die Tabellen in einer Datenbank.

Verwenden Sie aggregierte Abfragen mit SVV_DISKUSAGE wie die folgenden Beispiele zeigen, um die Anzahl der Festplattenblöcke zu bestimmen, die pro Datenbank, Tabelle, Slice oder Spalte zugewiesen sind. Jeder Datenblock nimmt 1 MB in Anspruch. Sie können auch STV_PARTITIONS verwenden, um zusammenfassende Informationen zur Festplattennutzung anzuzeigen.

SVV_DISKUSAGE ist nur für Superuser sichtbar. Weitere Informationen finden Sie unter Sichtbarkeit der Daten in Systemtabellen und Ansichten.

Anmerkung

Diese Ansicht ist nur verfügbar, wenn bereitgestellte Cluster abgefragt werden.

Tabellenspalten

Spaltenname Datentyp Beschreibung
db_id integer Datenbank-ID.
Name character(72) Tabellenname.
slice integer Datenslice, der der Tabelle zugewiesen ist.
col integer Null-basierter Index für die Spalte. Jeder Tabelle, die Sie erstellen, werden diese drei verborgenen Spalten angehängt: INSERT_XID, DELETE_XID, und ROW_ID (OID). Eine Tabelle mit drei vom Benutzer definierten Spalten hat tatsächlich sechs Spalten, und die benutzerdefinierten Spalten haben die interne Nummerierung 0, 1 und 2. Die Spalten INSERT_XID, DELETE_XID, und ROW_ID haben in diesem Beispiel die Nummern 3, 4 und 5.
tbl integer Tabellen-ID.
blocknum integer ID für den Datenblock.
num_values integer Anzahl der enthaltenen Werte für den Block.
minvalue bigint Mindestwert für den Block.
maxvalue bigint Höchstwert für den Block.
sb_pos integer Interne Kennung für die Position des Superblocks auf der Festplatte.
pinned integer Ob der Block im Rahmen des Pre-Load-Vorgangs im Speicher fixiert ist. 0 = false; 1 = true. Standard ist „false“.
on_disk integer Ob der Block automatisch auf der Festplatte gespeichert wird. 0 = false; 1 = true. Standard ist „false“.
modified integer Ob der Block modifiziert wurde. 0 = false; 1 = true. Standard ist „false“.
hdr_modified integer Ob der Block-Header modifiziert wurde. 0 = false; 1 = true. Standard ist „false“.
unsorted integer Ob der Block unsortiert ist. 0 = false; 1 = true. Der Standardwert ist „true“.
tombstone integer Zur internen Verwendung.
preferred_diskno integer Nummer der Festplatte, auf der sich der Block befinden sollte, sofern die Festplatte nicht ausgefallen ist. Sobald die Festplatte festgelegt ist, wird der Block wieder auf diese Festplatte übertragen.
temporary integer Ob der Block temporäre Daten enthält, etwa aus einer temporären Tabelle oder aus Abfragezwischenergebnissen. 0 = false; 1 = true. Standard ist „false“.
newblock integer Zeigt an, ob ein Block neu ist (true) oder noch nie einem Commit-Vorgang zu einer Festplatte unterzogen wurde (false). 0 = false; 1 = true.

Beispielabfragen

SVV_DISKUSAGE enthält eine Zeile pro zugewiesenem Festplattenblock, so dass eine Abfrage mit Auswahl aller Zeilen möglicherweise eine sehr große Zahl von Zeilen ausgibt. Wir empfehlen, nur aggregierte Abfragen mit SVV_DISKUSAGE zu verwenden.

Ausgabe der höchsten jemals zu Spalte 6 in der Tabelle USERS (der Spalte EMAIL) Anzahl von Blöcken:

select db_id, trim(name) as tablename, max(blocknum) from svv_diskusage where name='users' and col=6 group by db_id, name; db_id | tablename | max --------+-----------+----- 175857 | users | 2 (1 row)

Die folgende Abfrage gibt ähnliche Ergebnisse für alle Spalten in einer großen 10-Spalten-Tabelle mit der Bezeichnung SALESNEW aus. (Die letzten drei Zeilen, für die Spalten 10 bis 12, beziehen sich auf die verborgenen Metadatenspalten.)

select db_id, trim(name) as tablename, col, tbl, max(blocknum) from svv_diskusage where name='salesnew' group by db_id, name, col, tbl order by db_id, name, col, tbl; db_id | tablename | col | tbl | max --------+------------+-----+--------+----- 175857 | salesnew | 0 | 187605 | 154 175857 | salesnew | 1 | 187605 | 154 175857 | salesnew | 2 | 187605 | 154 175857 | salesnew | 3 | 187605 | 154 175857 | salesnew | 4 | 187605 | 154 175857 | salesnew | 5 | 187605 | 79 175857 | salesnew | 6 | 187605 | 79 175857 | salesnew | 7 | 187605 | 302 175857 | salesnew | 8 | 187605 | 302 175857 | salesnew | 9 | 187605 | 302 175857 | salesnew | 10 | 187605 | 3 175857 | salesnew | 11 | 187605 | 2 175857 | salesnew | 12 | 187605 | 296 (13 rows)