하나 이상의 기본
Table
이나 다른View
를 이용하여 생성되는가상 테이블
저장된 쿼리 정의
View는 데이터를 저장하지 않는다.
전체 데이터 중에서 일부만 접근할 수 있다.
View
에 대한 수정 결과는 뷰를 정의한 기본 테이블에 적용된다.
View
를 정의한 기본 테이블에서 정의된 무결성 제약조건
은 그대로 유지된다.
View는 더욱 모듈화된 코드를 작성할 수 있게 한다.
View
로 단축할 수 있다.Table의 특정 부분 집합에만 접근할 수 있도록 한다.
Example
- 하나의 테이블에서 열들의 특정 부분 집합을 어떤 뷰에 주고
또 다른 부분 집합은 다른 사용자에게 줄 수도 있다.
생성
CREATE view <이름> as select * from <테이블> <조건>;
삭제
DROP view <이름>;
View인데,
자체 데이터를 소유하고 있는 View
‘PreComputed View’
라고 한다.일반 View에 비해, 성능 향상
자동으로 유지 관리한다.
생성
CREATE Materialized view <이름> as select * from <테이블> <조건>;
삭제
DROP Materialized view <이름>;
단일 테이블에 대해서만 쿼리를 할 수 있다.
자동 유지 관리로 인해 Credit이 소비될 수 있다.
Join 연산을 사용할 수 없다.
View와 UDF를 사용할 수 없다.
집계 함수(HAVING, ORDER BY, LIMIT, WINDOW FUNCTIONS)
도
사용할 수 없다.
Materialized View를 사용할 때,
View의 쿼리 결과가 자주 변화하지 않을 때,
View의 결과가 사용될 때,
쿼리가 많은 리소스를 소비할 때
(General) View를 사용할 때,
View의 쿼리 결과가 자주 변화할 때,
View의 결과가 사용되지 않을 때,
쿼리가 많은 리소스를 소비하지 않을 때