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 Tabellennamen mit einer einzigen ANALYZE COMPRESSION Anweisung 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, ist die Standardgröße für die Stichprobengröße 100.000 pro Segment. Werte, die COMPROWS unter dem Standardwert von 100.000 Zeilen pro Slice liegen, 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 die COMPROWS Anzahl größer als die Anzahl der Zeilen in der Tabelle ist, fährt der ANALYZE COMPRESSION Befehl trotzdem fort und führt die Komprimierungsanalyse für alle verfügbaren Zeilen aus. Die Verwendung COMPROWS führt zu einem Fehler, wenn keine Tabelle angegeben ist.

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

ANALYZECOMPRESSIONerwirbt eine exklusive Tabellensperre, die gleichzeitige Lese- und Schreibvorgänge in der Tabelle verhindert. Führen Sie den ANALYZE COMPRESSION Befehl nur aus, wenn sich die Tabelle im Leerlauf befindet.

Führen Sie den Befehl aus, ANALYZE COMPRESSION um Empfehlungen für Spaltencodierungsschemata zu erhalten, die auf einer Stichprobe des Tabelleninhalts basieren. ANALYZECOMPRESSIONist ein hilfreiches Tool und ändert die Spaltenkodierungen 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.

ANALYZECOMPRESSIONüberspringt die eigentliche Analysephase und gibt direkt den ursprünglichen Kodierungstyp für jede Spalte zurück, die als gekennzeichnet ist. SORTKEY Dies geschieht, weil Scans mit eingeschränktem Bereich möglicherweise schlecht abschneiden, wenn SORTKEY Spalten viel stärker komprimiert sind als andere Spalten.

Beispiele

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

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

Im folgenden Beispiel werden die SALETIME Spalten QTYSOLDCOMMISSION, und in der SALES Tabelle analysiert.

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