Vorhandene dynamische Tabellen ändern

In diesem Abschnitt wird beschrieben, wie Sie mit dem Befehl ALTER DYNAMIC TABLE Änderungen an bestehenden dynamischen Tabellen vornehmen:

  • Warehouse oder der Zielverzögerungszeit für Ihre dynamischen Tabellen ändern

  • Clustering-Schlüssel Ihrer dynamischen Tabellen umbenennen, austauschen hinzufügen

Warehouse oder der Zielverzögerungszeit für dynamische Tabellen ändern

Vielleicht möchten Sie das Warehouse Ihrer dynamischen Tabellen aus Gründen der Kosteneffizienz oder Leistungssteigerung anpassen. Weitere Informationen dazu finden Sie unter Computekosten und Einfluss der Warehouse-Konfigurationen auf die Leistung dynamischer Tabellen.

Vielleicht möchten Sie die Zielverzögerungszeit Ihrer dynamischen Tabelle anpassen, um aktuellere Daten zu erhalten, die Computekosten zu senken oder die Aktualisierungsintervalle der vorgelagerten Abhängigkeiten besser anzugleichen. Weitere Informationen dazu finden Sie unter Die Zielverzögerung dynamischer Tabellen verstehen.

Um das Warehouse oder die Zielverzögerung einer dynamischen Tabelle zu ändern, verwenden Sie den Befehl ALTER DYNAMIC TABLE. Beispiel:

-- Change the warehouse for my_dynamic_table to my_other_wh:
ALTER DYNAMIC TABLE my_dynamic_table SET
  WAREHOUSE = my_other_wh;
Copy
-- Specify the downstream target lag for a dynamic table:
ALTER DYNAMIC TABLE my_dynamic_table SET
  TARGET_LAG = DOWNSTREAM;
Copy

Dynamische Tabellen umbenennen

Das Umbenennen einer dynamischen Tabelle kann in Szenarien nützlich sein, in denen Sie Skripte oder Anwendungen haben, die auf einen bestimmten Tabellennamen angewiesen sind, und Sie die dynamische Tabelle aktualisieren möchten, ohne Ihr bestehendes Skript zu ändern. Wenn Sie z. B. ein Skript haben, das auf einen bestimmten dynamischen Tabellennamen verweist, können Sie durch Umbenennen der Tabelle die zugrunde liegende Tabelle austauschen, während das Skript unverändert bleibt. Dies gewährleistet Kontinuität und vermeidet die mühsame Aktualisierung mehrerer Referenzen in verschiedenen Skripten oder Prozessen.

Um eine dynamische Tabelle umzubenennen, verwenden Sie den Befehl ALTER DYNAMIC TABLE … RENAME TO. Beispiel:

ALTER DYNAMIC TABLE my_dynamic_table RENAME TO my_new_dynamic_table;
Copy

Dynamische Tabellen austauschen

Das Austauschen dynamischer Tabellen ermöglicht einen nahtlosen Übergang zwischen Datensätzen oder Tabellenversionen, ohne dass Workflows unterbrochen oder abhängige Skripte geändert werden müssen. Wenn Sie beispielsweise eine neue Version einer Tabelle entwickeln, aber den Namen für laufende Prozesse beibehalten möchten, können Sie mit dem Austausch die alte Tabelle durch die neue ersetzen. Diese Vorgehensweise gewährleistet Kontinuität und ermöglicht Aktualisierungen, Tests oder Upgrades mit minimaler Ausfallzeit oder Unterbrechung.

Um eine dynamische Tabelle auszutauschen, verwenden Sie den Befehl ALTER DYNAMIC TABLE … SWAP WITH. Beachten Sie, dass Sie eine dynamische Tabelle nur mit einer anderen dynamischen Tabelle austauschen können.

Beispiel:

-- Swap my_dynamic_table with the my_new_dynamic_table:
ALTER DYNAMIC TABLE my_dynamic_table SWAP WITH my_new_dynamic_table;
Copy

Gruppierungsschlüssel zu dynamischen Tabellen hinzufügen

Das Hinzufügen von Gruppierungsschlüsseln zu dynamischen Tabellen kann die Leistung steigern, indem die Effizienz von Abfragen und Aktualisierungsoperationen verbessert wird:

  • Effizienz der Abfrage: Gruppierungsschlüssel können dazu beitragen, Abfragen zu beschleunigen, genau wie bei regulären Tabellen, indem sie auf gemeinsamen Join-Schlüsseln oder Filterspalten gruppiert werden.

  • Aktualisierungsoperationen: Gruppierungsschlüssel können dazu beitragen, Aktualisierungen zu beschleunigen, wenn die Gruppierungsschlüssel mit häufigen Änderungsmustern übereinstimmen. Clustering nach Benutzer-ID kann beispielsweise effektiv sein, wenn Sie Aktualisierungen haben, bei denen sich nur wenige Benutzer ändern.

Gruppierungsschlüssel können für eine dynamische Tabelle mit inkrementellem oder vollständigem Aktualisierungsmodus angegeben werden. Bei der vollständigen Aktualisierung wird das Clustering während der Aktualisierung durchgeführt und ein Reclustering im Hintergrund ist nicht erforderlich.

Um eine dynamische Tabelle zu clustern, verwenden Sie den Befehl ALTER DYNAMIC TABLE … CLUSTER BY:

ALTER DYNAMIC TABLE my_dynamic_table CLUSTER BY (date);
Copy