SQL: view, materialized view

SQL에서 view와 materialized view가 무엇인지 알아보자.

문법

create view v as <query expression>;

또는

create view v(<attribute names>) as <query expression>;

v는 view의 이름이고, query expression은 view를 정의하기 위한 쿼리문이다.

view

추상화된 관점에서 볼 때, view를 생성하는 것은 table을 생성하는 것과 같다. 하지만 view를 생성하는 경우 데이터베이스에는 쿼리문이 저장되며, 프로그래머가 view를 table처럼 사용하려고 할 때 저장해둔 쿼리문을 실행한 결과를 사용하게 된다.

materialized view

Materialized view를 생성하는 경우 쿼리문을 실행한 결과를 데이터베이스에 저장하게 된다. 프로그래머가 자주 사용하는 쿼리문의 경우, 그 쿼리문을 매번 실행하는 것이 비효율적이라고 판단한다면 materialized view를 생성하여 효율을 높일 수 있다.

쿼리문의 실행 결과에 영향을 끼치는 테이블의 내용이 변경될 경우 materialized view는 오래되어 낡은 정보를 갖게 된다. 따라서 materialized view는 적절하게 최신화하는 작업이 필요하다.

좋은 웹페이지 즐겨찾기