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.
CACHE-TABELLE
Mit dem Befehl CACHE TABLE werden die Daten einer vorhandenen Tabelle zwischengespeichert oder eine neue Tabelle mit Abfrageergebnissen erstellt und zwischengespeichert.
Anmerkung
Die zwischengespeicherten Daten bleiben für die gesamte Abfrage bestehen.
Die Syntax, die Argumente und einige Beispiele stammen aus der Apache Spark-SQL-Referenz.
Syntax
Der Befehl CACHE TABLE unterstützt drei Syntaxmuster:
Mit AS (ohne Klammern): Erstellt eine neue Tabelle auf der Grundlage der Abfrageergebnisse und speichert sie im Cache.
CACHE TABLEcache_table_identifierASquery;
Mit AS und Klammern: Funktioniert ähnlich wie die erste Syntax, verwendet jedoch Klammern, um die Abfrage explizit zu gruppieren.
CACHE TABLEcache_table_identifierAS (query);
Ohne AS: Speichert eine bestehende Tabelle im Cache und verwendet die SELECT-Anweisung, um zu filtern, welche Zeilen zwischengespeichert werden sollen.
CACHE TABLEcache_table_identifierquery;
Wobei Folgendes gilt:
-
Alle Anweisungen sollten mit einem Semikolon (;) enden
-
queryist normalerweise eine SELECT-Anweisung -
Klammern um die Abfrage sind bei AS optional
-
Das Schlüsselwort AS ist optional
Parameter
- cache_table_identifier
-
Der Name für die zwischengespeicherte Tabelle. Kann einen optionalen Qualifizierer für den Datenbanknamen enthalten.
- ALS
-
Ein Schlüsselwort, das beim Erstellen und Zwischenspeichern einer neuen Tabelle aus Abfrageergebnissen verwendet wird.
- query
-
Eine SELECT-Anweisung oder eine andere Abfrage, die die Daten definiert, die zwischengespeichert werden sollen.
Beispiele
In den folgenden Beispielen bleibt die zwischengespeicherte Tabelle für die gesamte Abfrage bestehen. Nach dem Zwischenspeichern lesen nachfolgende Abfragen, auf die verwiesen cache_table_identifier wird, aus der zwischengespeicherten Version, anstatt sie erneut zu berechnen oder aus ihr zu lesen. sourceTable Dadurch kann die Abfrageleistung für Daten, auf die häufig zugegriffen wird, verbessert werden.
Erstellen Sie eine gefilterte Tabelle aus Abfrageergebnissen und speichern Sie sie im Cache
Das erste Beispiel zeigt, wie eine neue Tabelle aus Abfrageergebnissen erstellt und zwischengespeichert wird. In diesem Befehl wird das AS Schlüsselwort ohne Klammern um die SELECT Anweisung herum verwendet. Es erstellt eine neue Tabelle mit dem Namen 'cache_table_identifier', die nur die Zeilen von 'sourceTable' enthält, deren Status 'ist. active' Es führt die Abfrage aus, speichert die Ergebnisse in der neuen Tabelle und speichert den Inhalt der neuen Tabelle im Cache. Das ursprüngliche 'sourceTable' bleibt unverändert, und nachfolgende Abfragen müssen auf 'cache_table_identifier' verweisen, um die zwischengespeicherten Daten verwenden zu können.
CACHE TABLEcache_table_identifierAS SELECT * FROMsourceTableWHERE status = 'active';
Zwischenspeichern Sie Abfrageergebnisse mit SELECT-Anweisungen in Klammern
Das zweite Beispiel zeigt, wie die Ergebnisse einer Abfrage als neue Tabelle mit einem bestimmten Namen (cache_table_identifier) zwischengespeichert werden, wobei Klammern um die Anweisung herum verwendet werden. SELECT Dieser Befehl erstellt eine neue Tabelle mit dem Namen 'cache_table_identifier', die nur die Zeilen von 'sourceTable' enthält, deren Status 'ist. active' Er führt die Abfrage aus, speichert die Ergebnisse in der neuen Tabelle und speichert den Inhalt der neuen Tabelle im Cache. Das Original 'sourceTable' bleibt unverändert. Nachfolgende Abfragen müssen auf 'cache_table_identifier' verweisen, um die zwischengespeicherten Daten verwenden zu können.
CACHE TABLEcache_table_identifierAS ( SELECT * FROMsourceTableWHERE status = 'active' );
Eine vorhandene Tabelle mit Filterbedingungen zwischenspeichern
Das dritte Beispiel zeigt, wie eine vorhandene Tabelle mit einer anderen Syntax zwischengespeichert wird. Bei dieser Syntax, bei der das Schlüsselwort 'AS' und Klammern weggelassen werden, werden in der Regel die angegebenen Zeilen aus einer vorhandenen Tabelle mit dem Namen 'cache_table_identifier' zwischengespeichert, anstatt eine neue Tabelle zu erstellen. Die SELECT Anweisung dient als Filter, um zu bestimmen, welche Zeilen zwischengespeichert werden sollen.
Anmerkung
Das genaue Verhalten dieser Syntax ist je nach Datenbanksystem unterschiedlich. Überprüfen Sie immer die richtige Syntax für Ihren spezifischen AWS Dienst.
CACHE TABLEcache_table_identifierSELECT * FROMsourceTableWHERE status = 'active';