View a markdown version of this page

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:

Colunas de saída não permitidas, restrição de consulta e CACHE TABLE

A restrição de colunas de saída não permitidas na regra de análise personalizada é aplicada em tabelas em cache. Uma tabela em cache não pode referenciar uma coluna de saída não permitida em sua cláusula SELECT. Para usar uma coluna com uma restrição de coluna de saída não permitida em uma parte subsequente da consulta, converta a tabela em cache em uma expressão de tabela comum (CTE).

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';