동적 테이블 제한 사항¶
이 항목에서는 동적 테이블의 일반 및 교차 기능 제한에 대해 설명합니다.
일반 제한 사항¶
동적 테이블 사용에는 다음과 같은 일반적인 제한 사항이 적용됩니다.
단일 계정은 최대 50,000개의 동적 테이블을 보유할 수 있습니다.
동적 테이블에서 데이터를 자를 수 없습니다.
임시 동적 테이블을 만들 수 없습니다.
동적 테이블을 사용하여 공유 데이터를 수집 하는 경우 쿼리는 공유 동적 테이블이나 업스트림 동적 테이블을 참조하는 공유 보안 뷰에서 선택할 수 없습니다.
동적 테이블 새로 고침이 소유자 역할 역할을 하므로 동적 테이블에 보조 역할을 사용할 수 없습니다. 자세한 내용은 기본 역할 및 보조 역할을 통한 승인 섹션을 참조하십시오.
기본 테이블의 DATA_RETENTION_TIME_IN_DAYS 오브젝트 매개 변수를 0으로 설정할 수 없습니다.
동적 테이블의 정의에는 동적 SQL(예: 세션 변수 또는 익명 블록의 바인딩되지 않은 변수)를 사용할 수 없습니다.
동적 테이블 정의에서 사용자 정의 테이블 함수(UDTF)에서 읽는 SELECT 블록은 열을 명시적으로 지정해야 하며
*를 사용할 수 없습니다.동적 테이블은 입력 테이블의 MAX_DATA_EXTENSION_TIME_IN_DAYS 기간 내에 새로 고치지 않으면 부실 테이블이 될 수 있습니다. 부실해지면 새로 고침을 다시 시작하려면 다시 생성할어야 합니다.
DEFAULT 라는 웨어하우스를 사용하는 동적 테이블을 생성하는 경우 큰따옴표로 묶인 식별자 요구 사항 에 따라 이름 주위에 큰따옴표를 사용해야 합니다. 예:
CREATE DYNAMIC TABLE ... WAREHOUSE = "DEFAULT". 동적 테이블 생성에 대한 자세한 내용은 동적 테이블 만들기 섹션을 참조하십시오.동적 테이블은 디렉터리 테이블, 외부 테이블, 스트림 및 구체화된 뷰를 포함하는 소스를 지원하지 않습니다.
다른 동적 테이블을 쿼리하는 뷰에서 읽는 동적 테이블을 생성할 수 없습니다.
동적 Iceberg 테이블은 복제할 수 없습니다. 또한 동적 Iceberg 테이블이 포함된 데이터베이스 또는 스키마를 복제해도 테이블이 새 위치에 복제되지 않습니다.
기능 간 상호 작용 지원¶
다음 기능 간 상호 작용은 지원되지 않습니다.
동적 테이블 새로 고침에 Query Acceleration Service(QAS) 사용.
공유 테이블의 데이터베이스 역할에 따른 마스킹 정책.
동적 테이블의 기본 테이블에는 집계 및 프로젝션 정책을 적용할 수 없습니다. 기본 테이블에 집계 또는 프로젝션 정책이 연결된 경우 동적 테이블을 생성하지 못합니다.
증분 새로 고침 지원¶
동적 테이블은 증분 및 전체 새로 고침의 두 가지 새로 고침 모드를 지원합니다. 새로 고침 모드를 AUTO 로 설정하거나 명시적으로 설정할 수 있습니다. 자세한 내용은 동적 테이블 새로 고침 모드 및 동적 테이블 새로 고침 모드 선택 모범 사례 섹션을 참조하십시오.
마스킹 및 행 액세스 정책¶
동적 테이블의 마스킹 또는 행 액세스 정책은 새로 고침 모드에 영향을 주지 않습니다 그러나 기본 테이블에 적용된 정책은 새로 고침 모드에 영향을 미칠 수 있습니다.
기본 테이블의 정책이 CURRENT_ROLE 또는 IS_ROLE_IN_SESSION 함수를 사용하는 경우 증분 새로 고침이 지원됩니다.
기본 테이블의 정책이 다른 함수, INFORMATION_SCHEMA 뷰를 사용하거나 테이블을 쿼리하는 경우(예: 매핑 테이블 조회) 증분 새로 고침이 지원되지 않습니다.
증분 새로 고침을 사용하는 동적 테이블의 기본 오브젝트에 대한 정책을 변경하면 다시 초기화가 트리거됩니다.
복제¶
증분 새로 고침을 사용하는 복제된 동적 테이블은 장애 조치 후 테이블의 증분 새로 고침을 재개하기 전에 다시 초기화됩니다.
자세한 내용은 복제 및 동적 테이블 섹션을 참조하십시오.
복제¶
복제된 증분 동적 테이블 은 생성된 후 처음 새로 고침을 수행하는 동안 다시 초기화해야 할 수도 있습니다.
삭제된 기본 테이블이 있는 다른 동적 테이블에서 동적 테이블을 복제하는 경우, 복제본은 일시 중단되고 다시 시작하거나 새로 고칠 수 없습니다.