Manuelles Reclustering – Veraltet¶
Wenn in Ihrem Konto manuelles Reclustering noch verfügbar ist, können Sie den Befehl ALTER TABLE mit einer RECLUSTER
-Klausel verwenden, um eine geclusterte Tabelle jederzeit manuell neu zu clustern.
Abschnitte unter diesem Thema:
Was ist manuelles Reclustering?¶
Die RECLUSTER
-Klausel weist Snowflake an, sofort ein Reclustering auf der angegebenen Tabelle durchzuführen. Im Gegensatz zum Automatic Clustering erfordert diese DML-Operation ein virtuelles Warehouse in Ihrem Konto und sperrt die Tabelle für die Dauer der Operation.
Nach einer Periode signifikanter/dauerhafter DML-Aktivität auf einer geclusterten Tabelle, für die Automatic Clustering nicht aktiviert ist, muss möglicherweise mehrmals ein manuelles Reclustering auf der Tabelle ausgeführt werden, um die gewünschten Ergebnisse zu erzielen.
Aus diesem Grund und auch aufgrund anderer Vorteile empfehlen wir die Verwendung von Automatic Clustering anstelle von manuellem Reclustering.
Tipp
Als allgemeine Regel und Best Practice empfehlen wir das Reclustering, nachdem auf einer Tabelle mit Gruppierungsschlüsseln signifikante DML-Operationen ausgeführt wurden. Mithilfe der Clustering-Informationen können Sie messen, ob sich das Clustering der Tabelle aufgrund von DML verschlechtert hat.
Auswirkung von manuellem Reclustering auf die Leistung¶
Die Gruppierungs- und Sortierungsoperationen, die Snowflake während des Reclustering durchführt, können sich auf die Leistung des virtuellen Warehouse auswirken, das für das Reclustering verwendet wird.
Aufgrund dieser Auswirkungen empfehlen wir für die Durchführung eines manuellen Reclustering die Verwendung eines separaten, dedizierten Warehouse von ausreichender Größe.
Umschalten von manuellem Reclustering auf Automatic Clustering¶
Wenn in Ihrem Konto noch manuelles Reclustering verfügbar ist, ist Automatic Clustering möglicherweise noch nicht für Ihr Konto aktiviert.
Sie können Automatic Clustering für Ihr Konto aktivieren lassen. Dies gilt jedoch nur für geclusterte Tabellen, die nach dem Aktivieren der Funktion definiert wurden.
Bei geclusterte Tabellen, die vor der Aktivierung der Funktion definiert wurden, müssen Sie Automatic Clustering für jede Tabelle explizit „fortsetzen“. Mit SQL können Sie feststellen, ob Automatic Clustering für eine bestimmte Tabelle aktiviert ist.
Weitere Details dazu finden Sie unter:
Manuelles Reclustering einer Tabelle¶
Verwenden Sie ALTER TABLE mit einer RECLUSTER
-Klausel, um auf einer Tabelle, für die Gruppierungsschlüssel definiert wurden, ein manuelles Reclustering auszuführen. Sie können eine WHERE
-Klausel verwenden, um eine Bedingung oder einen Bereich für das Reclustering der Daten in der Tabelle anzugeben.
Beispiel:
So führen Sie das Reclustering von Tabelle
t1
aus:ALTER TABLE t1 RECLUSTER;
So führen Sie das Reclustering von Daten aus, die in der ersten Woche von 2016 in Tabelle
t1
eingefügt wurden:ALTER TABLE t2 RECLUSTER WHERE CREATE_DATE BETWEEN ('2016-01-01') AND ('2016-01-07');
In diesen Beispielen wird das aktuelle Warehouse (für die Sitzung) verwendet, um ein Reclustering auf der Tabelle auszuführen. Die Menge der Ressourcen, die dem manuellen Reclustering zugewiesen werden, hängt von der Größe des Warehouses ab. Je größer das Warehouse ist, desto mehr Ressourcen werden dem Reclustering-Befehl zugewiesen, was zu einem effektiveren Reclustering führt.
Bemerkung
Manuelles Reclustering kann nur auf geclusterten Tabellen ausgeführt werden (d. h. auf Tabellen, für die Gruppierungsschlüssel definiert sind).