

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
<a name="sql-commands-cache-table"></a>

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.](https://spark.apache.org/docs/latest/api/sql/)

## Syntax
<a name="CACHE-TABLE-syntax"></a>

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 TABLE cache_table_identifier AS query;
```

Mit AS und Klammern: Funktioniert ähnlich wie die erste Syntax, verwendet jedoch Klammern, um die Abfrage explizit zu gruppieren.

```
CACHE TABLE cache_table_identifier AS ( query );
```

Ohne AS: Speichert eine bestehende Tabelle im Cache und verwendet die SELECT-Anweisung, um zu filtern, welche Zeilen zwischengespeichert werden sollen. 

```
CACHE TABLE cache_table_identifier query; 
```

Wobei Folgendes gilt:
+ Alle Anweisungen sollten mit einem Semikolon (;) enden
+ `query`ist normalerweise eine SELECT-Anweisung
+ Klammern um die Abfrage sind bei AS optional
+ Das Schlüsselwort AS ist optional

## Parameters
<a name="CACHE-TABLE-parameters"></a>

 *cache\$1table\$1identifier*   
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
<a name="CACHE-TABLE-examples"></a>

In den folgenden Beispielen bleibt die zwischengespeicherte Tabelle für die gesamte Abfrage bestehen. Nach dem Zwischenspeichern lesen nachfolgende Abfragen, auf die verwiesen *cache\$1table\$1identifier* 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
<a name="create-cache-filterd-table"></a>

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 TABLE cache_table_identifier AS
    SELECT * FROM sourceTable 
    WHERE status = 'active';
```

### Zwischenspeichern Sie Abfrageergebnisse mit SELECT-Anweisungen in Klammern
<a name="cache-query-results"></a>

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 TABLE cache_table_identifier AS (
    SELECT * FROM sourceTable 
    WHERE status = 'active'
);
```

### Eine vorhandene Tabelle mit Filterbedingungen zwischenspeichern
<a name="cache-existing-table"></a>

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 TABLE cache_table_identifier 
SELECT * FROM sourceTable 
WHERE status = 'active';
```