SHOW MATERIALIZED VIEWS

SHOW MATERIALIZED VIEWS

SHOW MATERIALIZED VIEWS 명령은 접근 권한(privilege)이 있는 구체화된 뷰(materialized view) 목록을 보여주는 명령이에요.

출처: 문서

본문

이 명령은 접근 권한이 있는 구체화된 뷰를 나열해요. 구체화된 뷰에 대한 자세한 내용은 구체화된 뷰 작업을 참고해요.

기능 상태: Enterprise Edition 기능. 구체화된 뷰에는 Enterprise Edition이 필요해요.

관련 명령: CREATE MATERIALIZED VIEW, ALTER MATERIALIZED VIEW, DROP MATERIALIZED VIEW, DESCRIBE MATERIALIZED VIEW.

구문 (Syntax)

SHOW MATERIALIZED VIEWS [ LIKE '<pattern>' ]
                        [ IN
                             {
                               ACCOUNT                                         |

                               DATABASE                                        |
                               DATABASE <database_name>                        |

                               SCHEMA                                          |
                               SCHEMA <schema_name>                            |
                               <schema_name>

                               APPLICATION <application_name>                  |
                               APPLICATION PACKAGE <application_package_name>  |
                             }
                        ]

파라미터 (Parameters)

  • LIKE <pattern> — 명령 출력을 객체 이름으로 필터링해요. 대소문자를 구분하지 않는 패턴 매칭이며 SQL 와일드카드 문자(%_)를 지원해요. 기본값: 없음.

  • [ IN ... ] — 명령의 범위를 선택적으로 지정해요:

    • ACCOUNT — 전체 계정의 레코드 반환.
    • DATABASE 또는 DATABASE db_name — 현재 또는 지정한 데이터베이스의 레코드 반환.
    • SCHEMA 또는 SCHEMA schema_name — 현재 또는 지정한 스키마의 레코드 반환.
    • APPLICATION <application_name> — 지정한 Snowflake Native App의 레코드 반환.
    • APPLICATION PACKAGE <application_package_name> — 지정한 애플리케이션 패키지의 레코드 반환.
    • IN ...을 생략하면 범위는 세션의 현재 데이터베이스 유무에 따라 달라져요: 있으면 IN DATABASE와 같은 효과, 없으면 IN ACCOUNT와 같은 효과.

출력 (Output)

명령 출력은 구체화된 뷰 속성과 메타데이터를 다음 컬럼으로 제공해요:

  • created_on — 구체화된 뷰가 생성된 타임스탬프.
  • name — 구체화된 뷰 이름.
  • reserved — 향후 사용을 위해 예약됨.
  • database_name — 구체화된 뷰가 존재하는 데이터베이스 이름.
  • schema_name — 구체화된 뷰가 존재하는 스키마 이름.
  • cluster_by — 클러스터링 컬럼 정보 (구체화된 뷰가 클러스터링된 경우).
  • rows — 구체화된 뷰의 행 수.
  • bytes — 구체화된 뷰의 데이터 바이트 수.
  • source_database_name — 구체화된 뷰의 기본 테이블이 존재하는 데이터베이스 이름.
  • source_schema_name — 구체화된 뷰의 기본 테이블이 존재하는 스키마 이름.
  • source_table_name — 구체화된 뷰의 기본 테이블 이름.
  • refreshed_on — "refresh" 작업이 처리한 기본 테이블의 마지막 DML 작업 타임스탬프.
  • compacted_on — "compaction" 작업이 처리한 기본 테이블의 마지막 DML 작업 타임스탬프.
  • owner — 구체화된 뷰의 소유자.
  • invalid — 구체화된 뷰가 현재 유효하지 않으면 true (예: 기본 테이블이 뷰가 사용하는 컬럼을 삭제한 경우), 아니면 false.
  • invalid_reason — 구체화된 뷰가 현재 유효하지 않은 이유(있는 경우).
  • behind_by — 구체화된 뷰의 갱신이 기본 테이블의 갱신보다 뒤처진 정도(초). 구체화된 뷰가 기본 테이블과 동기화되지 않았어도, 뷰에 대한 쿼리는 여전히 최신 결과를 반환해요 (기본 테이블에서 추가 정보를 검색하므로 조금 더 오래 걸릴 수 있음).
  • comment — 선택적 주석.
  • text — 이 구체화된 뷰를 만든 명령의 텍스트(예: CREATE MATERIALIZED VIEW …).
  • is_secure — 구체화된 뷰가 보안 뷰이면 true, 아니면 false.
  • automatic_clustering — 뷰가 클러스터링되고 자동 클러스터링이면 true.
  • owner_role_type — 객체를 소유한 역할 유형(예: ROLE). Snowflake Native App이 객체를 소유하면 APPLICATION. 객체가 삭제되면 NULL.

사용 참고 사항 (Usage notes)

  • 출력 컬럼은 SHOW TABLES와 유사하지만 다음 추가 컬럼을 포함해요: refreshed_on, compacted_on, behind_by.
  • SHOW VIEWS 명령도 구체화된 뷰에 대한 정보를 표시해요.
  • 실행에 실행 중인 웨어하우스를 요구하지 않아요.
  • 현재 역할에 하나 이상의 접근 권한이 부여된 객체만 반환해요.
  • MANAGE GRANTS 권한은 보유자가 계정의 모든 객체를 볼 수 있게 해줘요. 기본적으로 ACCOUNTADMIN과 SECURITYADMIN 역할만 이 권한을 가져요.
  • 출력을 후처리하려면 파이프 연산자(|>) 또는 RESULT_SCAN 함수를 사용할 수 있어요. 출력 컬럼을 참조할 때는 컬럼 이름을 큰따옴표로 감싸서 사용해요.
  • 명령은 최대 1만 개의 레코드를 반환해요. 1만 개가 넘는 결과는 필터를 적용해도 반환되지 않아요.

예제 (Examples)

모든 구체화된 뷰를 표시해요:

SHOW MATERIALIZED VIEWS;

이름이 mv1로 시작하는 구체화된 뷰만 표시해요:

SHOW MATERIALIZED VIEWS LIKE 'mv1%';

더 알아보기 (Learn more)