TABELA DE CACHE - AWS Clean Rooms

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

TABELA DE CACHE

O comando CACHE TABLE armazena em cache os dados de uma tabela existente ou cria e armazena em cache uma nova tabela contendo os resultados da consulta.

nota

Os dados em cache persistem durante toda a consulta.

A sintaxe, os argumentos e alguns exemplos vêm da Referência SQL do Apache Spark.

Sintaxe

O comando CACHE TABLE suporta três padrões de sintaxe:

Com AS (sem parênteses): cria e armazena em cache uma nova tabela com base nos resultados da consulta.

CACHE TABLE cache_table_identifier AS query;

Com AS e parênteses: funciona de forma semelhante à primeira sintaxe, mas usa parênteses para agrupar explicitamente a consulta.

CACHE TABLE cache_table_identifier AS ( query );

Sem AS: armazena em cache uma tabela existente, usando a instrução SELECT para filtrar quais linhas devem ser armazenadas em cache.

CACHE TABLE cache_table_identifier query;

Em que:

  • Todas as declarações devem terminar com ponto e vírgula (;)

  • querynormalmente é uma instrução SELECT

  • Os parênteses ao redor da consulta são opcionais com AS

  • A palavra-chave AS é opcional

Parâmetros

identificador_tabela_cache

O nome da tabela em cache. Pode incluir um qualificador de nome de banco de dados opcional.

AS

Uma palavra-chave usada ao criar e armazenar em cache uma nova tabela a partir dos resultados da consulta.

query

Uma instrução SELECT ou outra consulta que define os dados a serem armazenados em cache.

Exemplos

Nos exemplos a seguir, a tabela em cache persiste durante toda a consulta. Após o armazenamento em cache, as consultas subsequentes que fazem referência cache_table_identifier serão lidas da versão em cache em vez de serem recalculadas ou lidas. sourceTable Isso pode melhorar o desempenho da consulta para dados acessados com frequência.

Crie e armazene em cache uma tabela filtrada a partir dos resultados da consulta

O primeiro exemplo demonstra como criar e armazenar em cache uma nova tabela a partir dos resultados da consulta. Esse comando usa a AS palavra-chave sem parênteses ao redor da declaração. SELECT Ele cria uma nova tabela chamada 'cache_table_identifier' contendo somente as linhas de 'sourceTable' onde o status é 'active'. Ele executa a consulta, armazena os resultados na nova tabela e armazena em cache o conteúdo da nova tabela. O 'sourceTable' original permanece inalterado e as consultas subsequentes devem fazer referência a 'cache_table_identifier' para usar os dados em cache.

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

Resultados da consulta em cache com instruções SELECT entre parênteses

O segundo exemplo demonstra como armazenar em cache os resultados de uma consulta como uma nova tabela com um nome especificado (cache_table_identifier), usando parênteses ao redor da instrução. SELECT Esse comando cria uma nova tabela chamada 'cache_table_identifier' contendo somente as linhas de 'sourceTable' em que o status é 'active'. Ele executa a consulta, armazena os resultados na nova tabela e armazena em cache o conteúdo da nova tabela. O 'sourceTable' original permanece inalterado. As consultas subsequentes devem fazer referência a 'cache_table_identifier' para usar os dados em cache.

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

Armazene em cache uma tabela existente com condições de filtro

O terceiro exemplo demonstra como armazenar em cache uma tabela existente usando uma sintaxe diferente. Essa sintaxe, que omite a palavra-chave 'AS' e os parênteses, normalmente armazena em cache as linhas especificadas de uma tabela existente chamada 'cache_table_identifier' em vez de criar uma nova tabela. A SELECT instrução atua como um filtro para determinar quais linhas devem ser armazenadas em cache.

nota

O comportamento exato dessa sintaxe varia entre os sistemas de banco de dados. Sempre verifique a sintaxe correta para seu AWS serviço específico.

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