

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# TABLA DE CACHÉ
<a name="sql-commands-cache-table"></a>

El comando CACHE TABLE almacena en caché los datos de una tabla existente o crea y almacena en caché una nueva tabla que contiene los resultados de la consulta.

**nota**  
Los datos en caché se conservan durante toda la consulta.

La sintaxis, los argumentos y algunos ejemplos provienen de la [referencia SQL de Apache Spark](https://spark.apache.org/docs/latest/api/sql/).

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

El comando CACHE TABLE admite tres patrones de sintaxis:

Con AS (sin paréntesis): crea y almacena en caché una nueva tabla en función de los resultados de la consulta. 

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

Con AS y paréntesis: funciona de forma similar a la primera sintaxis, pero utiliza paréntesis para agrupar la consulta de forma explícita.

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

Sin AS: almacena en caché una tabla existente mediante la instrucción SELECT para filtrar las filas que se van a almacenar en caché. 

```
CACHE TABLE cache_table_identifier query; 
```

Donde:
+ Todas las sentencias deben terminar con punto y coma (;)
+ `query`suele ser una sentencia SELECT
+ Los paréntesis alrededor de la consulta son opcionales con AS
+ La palabra clave AS es opcional

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

 *cache\$1table\$1identifier*   
El nombre de la tabla en caché. Puede incluir un calificador de nombre de base de datos opcional.

 *AS*   
Palabra clave que se utiliza al crear y almacenar en caché una tabla nueva a partir de los resultados de una consulta.

*consulta*  
Una instrucción SELECT u otra consulta que defina los datos que se van a almacenar en caché.

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

En los ejemplos siguientes, la tabla en caché se conserva durante toda la consulta. Tras el almacenamiento en caché, las consultas posteriores a las que *cache\$1table\$1identifier* se haga referencia se leerán desde la versión en caché en lugar de volver a calcularse o leer desde ella. *sourceTable* Esto puede mejorar el rendimiento de las consultas para los datos a los que se accede con frecuencia. 

### Cree y almacene en caché una tabla filtrada a partir de los resultados de la consulta
<a name="create-cache-filterd-table"></a>

El primer ejemplo muestra cómo crear y almacenar en caché una tabla nueva a partir de los resultados de una consulta. Este comando usa la `AS` palabra clave sin paréntesis alrededor de la `SELECT` sentencia. Crea una nueva tabla llamada '`cache_table_identifier`' que contiene solo las filas de '`sourceTable`' donde el estado es '. `active'` Ejecuta la consulta, almacena los resultados en la nueva tabla y guarda en caché el contenido de la nueva tabla. El '`sourceTable`' original permanece sin cambios y las consultas posteriores deben hacer referencia a '`cache_table_identifier`' para usar los datos en caché.

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

### Almacene en caché los resultados de las consultas con sentencias SELECT entre paréntesis
<a name="cache-query-results"></a>

El segundo ejemplo muestra cómo almacenar en caché los resultados de una consulta como una tabla nueva con un nombre específico (`cache_table_identifier`), utilizando paréntesis alrededor de la sentencia. `SELECT` Este comando crea una nueva tabla llamada '`cache_table_identifier`' que contiene solo las filas de '`sourceTable`' donde el estado es '. `active'` Ejecuta la consulta, almacena los resultados en la nueva tabla y guarda en caché el contenido de la nueva tabla. El '`sourceTable`' original permanece inalterado. Las consultas posteriores deben hacer referencia a `cache_table_identifier` «» para utilizar los datos en caché.

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

### Almacene en caché una tabla existente con las condiciones del filtro
<a name="cache-existing-table"></a>

El tercer ejemplo muestra cómo almacenar en caché una tabla existente con una sintaxis diferente. Esta sintaxis, que omite la palabra clave `AS` 'y los paréntesis, normalmente almacena en caché las filas especificadas de una tabla existente denominada' `cache_table_identifier` 'en lugar de crear una tabla nueva. La `SELECT` sentencia actúa como un filtro para determinar qué filas se van a almacenar en caché.

**nota**  
El comportamiento exacto de esta sintaxis varía según los sistemas de bases de datos. Compruebe siempre la sintaxis correcta para su AWS servicio específico.

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