Bekannte Einschränkungen für dynamische Tabellen

Unter diesem Thema werden die Einschränkungen der folgenden Features für dynamische Tabellen beschrieben:

Allgemeine Einschränkungen

Für die Verwendung dynamischer Tabellen gelten die folgenden allgemeinen Einschränkungen:

  • Ein einzelnes Konto kann maximal 1.000 dynamische Tabellen enthalten.

  • Für die Definition einer dynamischen Tabelle:

    • Sie können nicht mehr als 100 Tabellen abfragen.

    • Sie können nicht mehr als 10 dynamische Tabellen abfragen.

    • Sie können nicht mehr als 10 dynamische Tabellen miteinander verknüpfen, um einen DAG zu erstellen.

  • Sie können Daten aus einer dynamischen Tabelle nicht abschneiden.

  • Sie können keine transiente oder temporäre dynamische Tabelle erstellen.

  • Wenn Sie eine dynamische Tabelle zum Erfassen freigegebener Daten verwenden, kann die Abfrage kein SELECT auf einer freigegebenen dynamischen Tabelle oder einer freigegebenen sicheren Ansicht ausführen, die eine vorgelagerte dynamische Tabelle referenziert.

  • Sie können keine Sekundärrollen mit dynamischen Tabellen verwenden, da die Aktualisierungen dynamischer Tabellen als ihre Eigentümerrolle fungieren. Weitere Informationen dazu finden Sie unter Durchsetzungsmodell mit Primärrolle und Sekundärrollen.

Einschränkungen bei Abfragekonstrukten

Die folgenden Konstrukte werden derzeit in der Abfrage für eine dynamische Tabelle nicht unterstützt. Wenn Sie diese in der Abfrage angeben, tritt ein Fehler auf:

  • Externe Funktionen.

  • Funktionen, die auf CURRENT_USER angewiesen sind. Aktualisierungen dynamischer Tabellen fungieren als ihre Eigentümerrolle mit einem speziellen SYSTEM-Benutzer.

  • Quellen, zu denen Verzeichnistabellen, Iceberg-Tabellen, externe Tabellen, Streams und materialisierte Ansichten gehören

  • Ansichten auf dynamische Tabellen oder andere nicht unterstützte Objekte

  • Benutzerdefinierte Funktionen (UDFs und UDTFs) in SQL

Unterstützung von Feature-übergreifenden Interaktionen

Die folgenden Feature-übergreifenden Interaktionen werden nicht unterstützt:

  • Einstellen von Gruppierungsschlüssel auf einer dynamischen Tabelle

  • Aktivieren der Suchoptimierung auf einer dynamischen Tabelle

  • Verwenden des Abfragebeschleunigungsdienstes (Query Acceleration Service, QAS) für Aktualisierungen dynamischer Tabellen

  • Verwenden von dynamischen Tabellen in verwalteten Zugriffsschemas.

Die folgenden Einschränkungen gelten für Feature-übergreifende Interaktionen:

  • Dynamische Tabellen und Basistabellen, die sich in unterschiedlichen Failover-Gruppen befinden, führen dazu, dass die Replikation fehlschlägt.

Unterstützung von inkrementellen Aktualisierungen

Dieser Abschnitt beschreibt die Ausdrücke, Klauseln und Funktionen, die derzeit für inkrementelle Aktualisierungen dynamischer Tabellen nicht unterstützt werden. Wenn eine Abfrage diese verwendet, führt der automatische Aktualisierungsprozess eine vollständige Aktualisierung aus, die mehr Credits verbrauchen kann. Siehe Feststellen, ob inkrementelle oder vollständige Aktualisierung verwendet wird.

Nicht deterministische Funktionen werden bei inkrementellen Aktualisierungen nicht unterstützt, aber einige nicht deterministische Funktionen werden bei vollständigen Aktualisierungen unterstützt.

Nicht unterstützte Konstrukte, Operatoren und Funktionen

Dynamische Tabellen unterstützen derzeit keine inkrementelle Aktualisierung bei einigen Konstrukten, Operatoren und Funktionen. Wenn Sie in der Abfrage Folgendes angeben, wird eine vollständige Aktualisierung der dynamischen Tabelle ausgeführt:

  • PIVOT.

  • UNPIVOT.

  • Mengenoperatoren:

    • UNION, MINUS, EXCEPT, INTERSECT.

  • Die folgenden Verwendungen von UNION [ ALL ]:

    • UNION ALL einer Tabelle mit sich selbst oder mit einem Klon von sich selbst.

    • UNION ALL von zwei GROUP BYs.

  • Seitliche Verknüpfung (Lateral Join).

  • Die folgenden Muster von Outer Joins (links, rechts oder voll):

    • Outer Joins, bei denen beide Seiten dieselbe Tabelle sind.

    • Outer Joins, bei denen beide Seiten eine Unterabfrage mit GROUP BY-Klauseln sind.

    • Outer Joins mit Prädikaten, die keine Gleichheitsprädikate sind.

  • Die folgenden Verwendungen von Fensterfunktionen:

    • Mehrere Fensterfunktionen in demselben SELECT-Block mit nicht identischen PARTITION BY-Klauseln.

    • Verwendung der Fensterfunktionen PERCENT_RANK, DENSE_RANK, RANK mit gleitenden Fenstern.

    • Verwendung von ANY, da es eine nicht deterministische Funktion ist.

  • Benutzerdefinierte Tabellenfunktionen (UDTF).

Zusätzliche Einschränkungen bei inkrementellen Aktualisierungen

Benutzerdefinierte Funktionen (UDF): Das Ersetzen einer IMMUTABLE-UDF, während sie von einer dynamischen Tabelle verwendet wird, die eine inkrementelle Aktualisierung verwendet, kann zu unerwartetem Verhalten in dieser Tabelle führen. VOLATILE-UDFs werden bei der inkrementellen Aktualisierung nicht unterstützt.

Maskierungs- und Zeilenzugriffsrichtlinien: Dynamische Tabellen unterstützen derzeit keine inkrementelle Aktualisierung für Quellen mit Maskierungs- oder Zeilenzugriffsrichtlinien. Wenn die zugrunde liegende Tabelle durch eine Richtlinie geschützt ist, verwendet die dynamische Tabelle eine vollständige Aktualisierung.

Replikation: Replizierte dynamische Tabellen mit inkrementeller Aktualisierung werden nach dem Failover neu initialisiert, bevor sie die inkrementelle Aktualisierung fortsetzen können.

Klonen: In bestimmten Fällen müssen geklonte inkrementelle dynamische Tabellen bei ihrer ersten Aktualisierung nach der Erstellung neu initialisiert werden.