Schlüssel sortieren - 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.

Schlüssel sortieren

Anmerkung

Wir empfehlen, Ihre Tabellen mit SORTKEY AUTO zu erstellen. Wenn Sie dies tun, verwendet Amazon Redshift die automatische Tabellenoptimierung, um den Sortierschlüssel auszuwählen. Weitere Informationen finden Sie unter Automatische Tabellenoptimierung. Der Rest dieses Abschnitts enthält Details zur Sortierreihenfolge.

Wenn Sie eine Tabelle erstellen, können Sie alternativ eine oder mehrere ihrer Spalten als Sortierschlüssel definieren. Wenn Daten zum ersten Mal in die leere Tabelle geladen werden, werden die Zeilen auf dem Datenträger in sortierter Reihenfolge gespeichert. Die Informationen zu Sortierschlüsselspalten werden an den Abfrageplaner übergeben. Der Planer verwendet diese Informationen zum Erstellen von Plänen, die die Sortierung der Daten nutzen. Weitere Informationen finden Sie unter CREATE TABLE. Informationen zu bewährten Methoden beim Erstellen eines Sortierschlüssels finden Sie unter Auswahl des besten Sortierschlüssels.

Die Sortierung ermöglicht eine effiziente Verarbeitung von Prädikaten mit eingeschränkten Bereichen. Amazon Redshift speichert Spaltendaten in 1-MB-Blöcken. Die Mindest- und Maximalwerte für jeden Block werden als Teil der Metadaten gespeichert. Wenn eine Abfrage ein Prädikat mit eingeschränktem Bereich verwendet, kann der Abfrageverarbeiter die Mindest- und Maximalwerte verwenden, um während Tabellenscans große Mengen von Blöcken schnell zu überspringen. Angenommen, eine Tabelle speichert Daten aus fünf Jahren, die nach Datum sortiert sind, und eine Abfrage gibt einen Datumsbereich von einem Monat an. In diesem Fall können Sie bis zu 98 Prozent der Festplattenblöcke aus dem Scan entfernen. Wenn die Daten nicht sortiert sind, müssen mehr Datenträgerblöcke (möglicherweise alle) gescannt werden.

Sie können einen zusammengesetzten oder einen überlappenden Sortierschlüssel angeben. Ein zusammengesetzter Sortierschlüssel ist effizienter, wenn Abfrageprädikate ein Präfix verwenden, das ein Teilbereich der Sortierschlüsselspalten ihrer Reihenfolge nach ist. Ein überlappender Sortierschlüssel gewichtet jede Spalte im Sortierschlüssel gleich, sodass Abfrageprädikate jeden Teilbereich der Spalten, aus denen der Sortierschlüssel besteht, in jeder beliebigen Reihenfolge verwenden können.

Um die Auswirkungen des gewählten Sortierschlüssels auf die Abfrageleistung zu verstehen, verwenden Sie den Befehl EXPLAIN. Weitere Informationen finden Sie unter Workflow der Abfrageplanung und -ausführung.

Um einen Sortiertyp zu definieren, verwenden Sie entweder das COMPOUND Schlüsselwort INTERLEAVED or mit Ihrer CREATE TABLE oder CREATE TABLE AS-Anweisung. Die Standardeinstellung istCOMPOUND. COMPOUNDwird empfohlen, wenn Sie Ihre Tabellen regelmäßig mit INSERTUPDATE, oder DELETE -Operationen aktualisieren. Ein INTERLEAVED Sortierschlüssel kann maximal acht Spalten enthalten. Abhängig von Ihren Daten und der Clustergröße VACUUM REINDEX dauert es erheblich länger, als VACUUM FULL weil die Analyse der verschachtelten Sortierschlüssel in einem zusätzlichen Durchlauf durchgeführt wird. Die Sortier- und Zusammenführungsoperation für überlappende Tabellen kann länger dauern, weil die überlappende Sortierung möglicherweise mehr Zeilen als eine zusammengesetzte Sortierung neu anordnen muss.

Um die Sortierschlüssel für eine Tabelle anzuzeigen, führen Sie eine Abfrage für die Systemansicht SVV_TABLE_INFO aus.