실행한 쿼리가 전체 데이터 중 얼마나 데이터를 스캔했는지 확인해 봅니다.
데이터 저장된 파티션 중 데이터를 조회할 필요가 없는 부분을 스킵하는 과정을 파티션 푸르닝이라고 부릅니다.
데이터 적재 실습에서 사용한 order_header 테이블을 이용해서 새 테이블을 만듭니다. order_ts 컬럼을 기준으로 데이터를 정렬하여 데이터를 넣습니다
+를 클릭하여 새 SQL Worksheet를 만듭니다...을 클릭하여 RENAME합니다// 컨텍스트 설정 USE ROLE sysadmin ; USE WAREHOUSE demo_build_wh ; USE DATABASE tasty_db ; USE SCHEMA raw_pos ;
// 테이블 생성 CREATE OR REPLACE TABLE order_header_by_order_ts AS SELECT * FROM order_header ORDER BY order_ts ;
새 웨어하우스를 생성합니다
// 웨어하우스 생성 CREATE OR REPLACE WAREHOUSE tasty_de_wh WAREHOUSE_SIZE = 'xsmall' WAREHOUSE_TYPE = 'standard' AUTO_SUSPEND = 60 AUTO_RESUME = TRUE INITIALLY_SUSPENDED = TRUE ;
웨어하우스 확인
// 웨어하우스 확인 SHOW WAREHOUSES ;
새로 생성한 웨어하우스를 지정하지 않았다면 컨텍스트 설정부터 합니다
// 웨어하우스 지정 USE WAREHOUSE tasty_de_wh ;
다음과 같이 데이터를 조회합니다
// Partition Pruning SELECT * FROM order_header_by_order_ts WHERE order_ts between '2021-01-01 00:00:00' and '2022-01-01 00:00:00' ;
쿼리 결과의 오른쪽 Query Details에서 ...을 클릭해 View Query Profile을 선택합니다
오른쪽의 쿼리 프로파일의 통계를 보면 WHERE절의 필터 조건에 의해 193개의 마이크로파티션 중에 65개만 스캔한 결과를 알 수 있습니다

프로파일 결과는 닫고 다시 worksheet로 돌아가서 필터 조건을 더 줄여서 조회해 보겠습니다
// Partition Pruning SELECT * FROM order_header_by_order_ts WHERE order_ts between '2021-03-01 00:00:00' and '2021-03-02 00:00:00' ;
이 전에 확인했던 방법과 마찬가지로 Query Profile에서 스캔한 파티션이 몇 개인지 확인해 봅니다
