TRUNCATE MATERIALIZED VIEW
TRUNCATE MATERIALIZED VIEW
구체화된 뷰(materialized view)에서 모든 행을 제거하지만 뷰 자체는 유지하는 명령이에요. 다만 이 기능은 폐기(obsolete)되어 더 이상 지원되지 않아요.
출처: 문서
본문
폐기된 기능(Obsolete): Snowflake는 더 이상 구체화된 뷰의 truncation을 지원하지 않아요. 기존 구체화된 뷰를 드롭하지 않고 truncate하고 싶다면, 가장 가까운 대안은 다음과 같아요:
CREATE OR REPLACE MATERIALIZED VIEW <name> COPY GRANTS ...CREATE OR REPLACE MATERIALIZED VIEW 명령은 포그라운드 문으로 실행되며 웨어하우스가 필요해요.
Enterprise Edition 기능: 구체화된 뷰에는 Enterprise Edition이 필요해요. 업그레이드 문의는 Snowflake 지원팀에 연락해요.
구체화된 뷰에서 모든 행을 제거하지만 뷰는 유지해요(뷰의 모든 권한과 제약 조건 포함). 이는 시스템에서 구체화된 뷰를 제거하는 DROP MATERIALIZED VIEW와 다르다는 점에 주의해요.
구문
TRUNCATE MATERIALIZED VIEW <name>
매개변수
name
truncate할 구체화된 뷰의 식별자를 지정해요. 식별자에 공백이나 특수 문자가 포함되면 전체 문자열을 큰따옴표로 묶어야 해요. 큰따옴표로 묶은 식별자는 대소문자를 구분해요(예: "My Object"). 구체화된 뷰 식별자가 정규화되지 않은 경우(db_name.schema_name.materialized_view_name 또는 schema_name.materialized_view_name 형태), 명령은 세션의 현재 스키마에서 구체화된 뷰를 찾아요.
사용 메모
- Snowflake는 더 이상 구체화된 뷰의 truncation을 지원하지 않아요.
- 구체화된 뷰를 truncate하면 백그라운드 유지 관리 서비스가 자동으로 구체화된 뷰를 업데이트해요. 업데이트되는 동안 뷰에서 쿼리가 실행되면, Snowflake는 필요에 따라 기본 테이블에서 행을 검색해 일관된 결과를 보장해요.
- 그러나 유지 관리 서비스는 구체화된 뷰 업데이트에 컴퓨팅 리소스를 사용하므로, 일반적으로 뷰를 truncate하는 것보다 오래된 구체화된 뷰가 시간이 지나면서 자연스럽게 "따라잡게" 하는 것이 더 효율적(즉 비용이 적게 듦)이에요. 따라서 구체화된 뷰 truncate는 일반적으로 권장하지 않아요.
- 뷰에 대한 각 쿼리는 최신 결과를 보여 주지만, Snowflake가 구체화된 뷰를 업데이트하거나 기본 테이블에서 데이터를 조회하면서 쿼리가 더 느리게 실행될 수 있어요.
예제
이 기능은 폐기되었어요.
더 알아보기 (Learn more)
- See also: ALTER MATERIALIZED VIEW, CREATE MATERIALIZED VIEW