캐시 테이블 - AWS Clean Rooms

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

캐시 테이블

CACHE TABLE 명령은 기존 테이블의 데이터를 캐싱하거나 쿼리 결과가 포함된 새 테이블을 생성하고 캐싱합니다.

참고

캐시된 데이터는 전체 쿼리에 대해 유지됩니다.

구문, 인수 및 일부 예제는 Apache Spark SQL 참조에서 가져옵니다.

구문

CACHE TABLE 명령은 세 가지 구문 패턴을 지원합니다.

AS 사용(괄호 제외): 쿼리 결과를 기반으로 새 테이블을 생성하고 캐싱합니다.

CACHE TABLE cache_table_identifier AS query;

AS 및 괄호 사용: 첫 번째 구문과 유사하게 작동하지만 괄호를 사용하여 쿼리를 명시적으로 그룹화합니다.

CACHE TABLE cache_table_identifier AS ( query );

AS 사용 안 함: SELECT 문을 사용하여 캐싱할 행을 필터링하여 기존 테이블을 캐싱합니다.

CACHE TABLE cache_table_identifier query;

위치:

  • 모든 문은 세미콜론(;)으로 끝나야 합니다.

  • query는 일반적으로 SELECT 문입니다.

  • 쿼리 주위의 괄호는 AS에서 선택 사항입니다.

  • AS 키워드는 선택 사항입니다.

파라미터

cache_table_identifier

캐시된 테이블의 이름입니다. 선택적 데이터베이스 이름 한정자를 포함할 수 있습니다.

AS

쿼리 결과에서 새 테이블을 생성하고 캐싱할 때 사용되는 키워드입니다.

query

캐시할 데이터를 정의하는 SELECT 문 또는 기타 쿼리입니다.

예시

다음 예제에서는 캐시된 테이블이 전체 쿼리에 대해 유지됩니다. 캐싱 후 cache_table_identifier를 참조하는 후속 쿼리는 sourceTable을 다시 계산하거나 읽는 대신 캐시된 버전에서 읽습니다. 이렇게 하면 자주 액세스하는 데이터의 쿼리 성능이 향상될 수 있습니다.

쿼리 결과에서 필터링된 테이블 생성 및 캐시

첫 번째 예제에서는 쿼리 결과에서 새 테이블을 생성하고 캐싱하는 방법을 보여줍니다. 이 명령은 SELECT 문 주위에 괄호 없이 AS 키워드를 사용합니다. 상태가 '인 'cache_table_identifier'의 행만 포함하는 'sourceTable'라는 새 테이블을 생성합니다active'. 쿼리를 실행하고, 결과를 새 테이블에 저장하고, 새 테이블의 콘텐츠를 캐싱합니다. 원래 'sourceTable'는 변경되지 않으며 캐시된 데이터를 사용하려면 후속 쿼리가 'cache_table_identifier'를 참조해야 합니다.

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

괄호로 묶인 SELECT 문을 사용하여 쿼리 결과 캐시

두 번째 예제에서는 SELECT 문 주위에 괄호를 사용하여 쿼리 결과를 지정된 이름(cache_table_identifier)의 새 테이블로 캐싱하는 방법을 보여줍니다. 이 명령은 상태가 '인 'cache_table_identifier'의 행만 포함하는 'sourceTable'이라는 새 테이블을 생성합니다active'. 쿼리를 실행하고, 결과를 새 테이블에 저장하고, 새 테이블의 콘텐츠를 캐싱합니다. 원래 'sourceTable'는 변경되지 않습니다. 후속 쿼리는 캐시된 데이터를 사용하려면 'cache_table_identifier'를 참조해야 합니다.

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

필터 조건으로 기존 테이블 캐시

세 번째 예제에서는 다른 구문을 사용하여 기존 테이블을 캐싱하는 방법을 보여줍니다. 'AS' 키워드와 괄호를 생략하는이 구문은 일반적으로 새 테이블을 생성하는 대신 'cache_table_identifier'이라는 기존 테이블에서 지정된 행을 캐싱합니다. SELECT 문은 캐시할 행을 결정하는 필터 역할을 합니다.

참고

이 구문의 정확한 동작은 데이터베이스 시스템에 따라 다릅니다. 항상 특정 AWS 서비스에 대해 올바른 구문을 확인합니다.

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