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É
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
Sintaxis
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 TABLEcache_table_identifierASquery;
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 TABLEcache_table_identifierAS (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 TABLEcache_table_identifierquery;
Donde:
-
Todas las sentencias deben terminar con punto y coma (;)
-
querysuele ser una sentencia SELECT -
Los paréntesis alrededor de la consulta son opcionales con AS
-
La palabra clave AS es opcional
Parámetros
- cache_table_identifier
-
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
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_table_identifier 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
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 TABLEcache_table_identifierAS SELECT * FROMsourceTableWHERE status = 'active';
Almacene en caché los resultados de las consultas con sentencias SELECT entre paréntesis
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 TABLEcache_table_identifierAS ( SELECT * FROMsourceTableWHERE status = 'active' );
Almacene en caché una tabla existente con las condiciones del filtro
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 TABLEcache_table_identifierSELECT * FROMsourceTableWHERE status = 'active';