ANALYZE COMPRESSION - 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.

ANALYZE COMPRESSION

Führt Kompressionsanalysen aus und erstellt einen Bericht mit der vorgeschlagenen Spaltenkodierung für die analysierten Tabellen. Für jede Spalte enthält der Bericht eine Schätzung der potenziellen Reduzierung des Festplattenspeichers im Vergleich zur RAW-Kodierung.

Syntax

ANALYZE COMPRESSION [ [ table_name ] [ ( column_name [, ...] ) ] ] [COMPROWS numrows]

Parameter

table_name

Sie können die Kompression für spezifische Tabellen analysieren, einschließlich temporärer Tabellen. Sie können die Tabelle mittels ihres Schemanamens qualifizieren. Optional können Sie einen table_name angeben, um eine einzelne Tabelle zu analysieren. Wenn Sie keinen table_name angeben, werden alle Tabellen in der aktuell verbundenen Datenbank analysiert. Sie können nicht mehr als einen table_name mit einer einzelnen Anweisung ANALYZE COMPRESSION angeben.

column_name

Wenn Sie einen table_name angeben, können Sie auch eine oder mehrere Spalten in der Tabelle angeben (als durch Komma getrennte Liste in Klammern).

COMPROWS

Die Anzahl der Zeilen, die beispielhaft für die Kompressionanalyse verwendet werden sollen. Die Analyse wird für Zeilen aus jedem Daten-Slice ausgeführt. Wenn Sie beispielsweise COMPROWS 1000000 (1.000.000) angeben und das System insgesamt 4 Slices enthält, werden nicht mehr als 250.000 Zeilen pro Slice gelesen und analysiert. Wenn COMPROWS nicht angegeben wird, werden standardmäßig 100.000 Zeilen pro Slice beispielhaft analysiert. Werte für COMPROWS, die niedriger als der Standardwert von 100.000 Zeilen pro Slice sind, werden automatisch auf den Standardwert aktualisiert. Die Komprimierungsanalyse gibt jedoch keine Empfehlungen aus, wenn die Menge der Daten in einer Tabelle nicht als aussagekräftige Grundlage für die Analyse ausreicht. Wenn der Wert für COMPROWS größer als die Anzahl der Zeilen in der Tabelle ist, wird der Befehl ANALYZE COMPRESSION dennoch fortgesetzt und die Kompressionsanalyse wird anhand aller verfügbaren Zeilen ausgeführt.

numrows

Die Anzahl der Zeilen, die beispielhaft für die Kompressionanalyse verwendet werden sollen. Der akzeptierte Bereich für numrows ist eine Zahl zwischen 1000 und 1000000000 (1.000.000.000).

Nutzungshinweise

ANALYZE COMPRESSION bewirkt eine exklusive Tabellensperrung, die gleichzeitig ausgeführte Lese- und Schreibvorgänge für die Tabelle verhindert. Führen Sie den Befehl ANALYZE COMPRESSION nur aus, wenn die Tabelle nicht verwendet wird.

Führen Sie ANALYZE COMPRESSION aus, um basierend auf einer Beispielauswahl der Tabelleninhalte Empfehlungen zu Kodierungsschemata für Spalten zu erhalten. ANALYZE COMPRESSION ist ein Empfehlungstool und ändert die Spaltenkodierung der Tabelle nicht. Sie können die vorgeschlagene Kodierung anwenden, indem Sie die Tabelle neu erstellen oder eine neue Tabelle mit demselben Schema erstellen. Die Neuerstellung einer nicht komprimierten Tabelle mit geeigneten Kodierungsschemas kann den Platzbedarf auf der Festplatte erheblich reduzieren. Dieser Ansatz spart Speicherplatz und verbessert die Abfrageleistung für I/O-gebundene Workloads.

ANALYZE COMPRESSION überspringt die eigentliche Analysephase und gibt direkt den ursprünglichen Kodierungstyp für jede Spalte zurück, die als SORTKEY bezeichnet ist. Dies geschieht, weil bereichseingeschränkte Scans möglicherweise geringe Leistung zeigen, wenn SORTKEY-Spalten viel stärker komprimiert werden als andere Spalten.

Beispiele

Das folgende Beispiel zeigt die Codierung und die geschätzte prozentuale Reduzierung für die Spalten nur in der Tabelle LISTING:

analyze compression listing; Table | Column | Encoding | Est_reduction_pct ---------+----------------+----------+------------------- listing | listid | az64 | 40.96 listing | sellerid | az64 | 46.92 listing | eventid | az64 | 53.37 listing | dateid | raw | 0.00 listing | numtickets | az64 | 65.66 listing | priceperticket | az64 | 72.94 listing | totalprice | az64 | 68.05 listing | listtime | az64 | 49.74

Das folgende Beispiel analysiert die Spalten QTYSOLD, COMMISSION und SALETIME in der Tabelle SALES.

analyze compression sales(qtysold, commission, saletime); Table | Column | Encoding | Est_reduction_pct -------+------------+----------+------------------- sales | salesid | N/A | 0.00 sales | listid | N/A | 0.00 sales | sellerid | N/A | 0.00 sales | buyerid | N/A | 0.00 sales | eventid | N/A | 0.00 sales | dateid | N/A | 0.00 sales | qtysold | az64 | 83.06 sales | pricepaid | N/A | 0.00 sales | commission | az64 | 71.85 sales | saletime | az64 | 49.63