

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# TABEL CACHE
<a name="sql-commands-cache-table"></a>

Perintah CACHE TABLE menyimpan data tabel yang ada atau membuat dan menyimpan tabel baru yang berisi hasil kueri.

**catatan**  
Data yang di-cache tetap ada untuk seluruh kueri.

Sintaks, argumen, dan beberapa contoh berasal dari [Apache Spark](https://spark.apache.org/docs/latest/api/sql/) SQL Reference.

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

Perintah CACHE TABLE mendukung tiga pola sintaks:

Dengan AS (tanpa tanda kurung): Membuat dan menyimpan tabel baru berdasarkan hasil kueri. 

```
CACHE TABLE cache_table_identifier AS query;
```

Dengan AS dan tanda kurung: Fungsi mirip dengan sintaks pertama tetapi menggunakan tanda kurung untuk mengelompokkan kueri secara eksplisit.

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

Tanpa AS: Cache tabel yang ada, menggunakan pernyataan SELECT untuk memfilter baris mana yang akan di-cache. 

```
CACHE TABLE cache_table_identifier query; 
```

Di mana:
+ Semua pernyataan harus diakhiri dengan titik koma (;)
+ `query`biasanya pernyataan SELECT
+ Tanda kurung di sekitar kueri bersifat opsional dengan AS
+ Kata kunci AS adalah opsional

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

 *cache\$1table\$1identifier*   
Nama untuk tabel cache. Dapat menyertakan kualifikasi nama database opsional.

 *SEBAGAI*   
Kata kunci yang digunakan saat membuat dan menyimpan tabel baru dari hasil kueri.

*query*  
Pernyataan SELECT atau kueri lain yang mendefinisikan data yang akan di-cache.

## Contoh
<a name="CACHE-TABLE-examples"></a>

Dalam contoh berikut, tabel cache tetap untuk seluruh kueri. Setelah caching, kueri berikutnya yang referensi *cache\$1table\$1identifier* akan dibaca dari versi cache daripada menghitung ulang atau membaca dari. *sourceTable* Ini dapat meningkatkan kinerja kueri untuk data yang sering diakses. 

### Buat dan cache tabel yang disaring dari hasil kueri
<a name="create-cache-filterd-table"></a>

Contoh pertama menunjukkan cara membuat dan cache tabel baru dari hasil query. Perintah ini menggunakan `AS` kata kunci tanpa tanda kurung di sekitar pernyataan. `SELECT` Ini menciptakan tabel baru bernama '`cache_table_identifier`' yang hanya berisi baris dari '`sourceTable`' di mana statusnya '`active'`. Ini menjalankan kueri, menyimpan hasil di tabel baru, dan menyimpan isi tabel baru. Asli '`sourceTable`' tetap tidak berubah, dan kueri berikutnya harus referensi '`cache_table_identifier`' untuk menggunakan data cache.

```
CACHE TABLE cache_table_identifier AS
    SELECT * FROM sourceTable 
    WHERE status = 'active';
```

### Hasil kueri cache dengan pernyataan SELECT bertanda kurung
<a name="cache-query-results"></a>

Contoh kedua menunjukkan bagaimana untuk cache hasil query sebagai tabel baru dengan nama tertentu (`cache_table_identifier`), menggunakan tanda kurung di sekitar pernyataan. `SELECT` Perintah ini membuat tabel baru bernama '`cache_table_identifier`' yang hanya berisi baris dari '`sourceTable`' di mana statusnya '`active'`. Ini menjalankan kueri, menyimpan hasil di tabel baru, dan menyimpan isi tabel baru. Asli `sourceTable` 'tetap tidak berubah. Query selanjutnya harus referensi '`cache_table_identifier`' untuk menggunakan data cache.

```
CACHE TABLE cache_table_identifier AS (
    SELECT * FROM sourceTable 
    WHERE status = 'active'
);
```

### Cache tabel yang ada dengan kondisi filter
<a name="cache-existing-table"></a>

Contoh ketiga menunjukkan bagaimana untuk cache tabel yang ada menggunakan sintaks yang berbeda. Sintaks ini, yang menghilangkan kata kunci dan tanda kurung `AS` '', biasanya menyimpan baris yang ditentukan dari tabel yang ada bernama '`cache_table_identifier`' daripada membuat tabel baru. `SELECT`Pernyataan bertindak sebagai filter untuk menentukan baris mana yang akan di-cache.

**catatan**  
Perilaku yang tepat dari sintaks ini bervariasi di seluruh sistem database. Selalu verifikasi sintaks yang benar untuk AWS layanan spesifik Anda.

```
CACHE TABLE cache_table_identifier 
SELECT * FROM sourceTable 
WHERE status = 'active';
```