반응형

오라클 공부를 시작한지 얼마되지 않아 나의 습관대로 , 용어를 미리 공부하려 한다.

 

OTN SITE를 뒤지던중 Materialized View 라는 단어를 발견하게 되었다.

 

이것에 대해서 공부한 내역을 적어보도록 하겠다.

 

(1) Materialized View 란?

 

: 흔히 MView 라고 불리는 이것은, 일반적인 DBMS에서 말하는 View하고는 조금 개념이 틀리다. 사전의 의미를

  찾아보면 Materialized(구체화되어있는) View 라는 뜻이다. 즉, 일반적인 View하고는 다르게, 실제 물리적인 테이블이

  존재하여 메모리상에만 존재하는 View와는 달리 HDD에 데이터 영역을 할당한다는 의미이다.

 

Wiki depia에 보면 아래와 같이 영어로 적혀있다.

A materialized view is a database object that contains the results of a query. For example, it may be a local copy of data located remotely, or may be a subset of the rows and/or columns of a table or join result, or may be a summary based on aggregations of a table's data. Materialized views, which store data based on remote tables, are also known as snapshots. A snapshot can be redefined as a materialized view.

 

(해석)

: MView는 쿼리의 결과를 포함하고 있는 Database 오브젝트이다. 예를들어 서로다른 물리적공간에 저장된 데이터의 LOCAL COPY 데이터 , 조인된 결과 또는 테이블의 컬럼 이나 로우의 일부, 테이블 데이터의 요약된 정보 가 Mview로 저장된다. 테이블 단위로 저장되는 Mview는 snapshots 이라는 용어로 불려지기도 한다. snapshot은 MView를 정의한 또다른 용어이다.

: 영어가 맞는지 모르겠다. 아~~ 영어 공부 해야겠군. 흠....

 

하여튼 결론적으로 MView에 대해서 몇 마디 더 적어보자면 9i 이전까지는 snapshot이란 용어로도 불려졌으나, 이제는

MView 라는 용어로 불려지고 있따.

 

(2) Mview와 일반 View의 차이점 ?

 

: 위의 내용을 읽으신 분들은 차이점에 대해서 어느정도 이해가 가실 거라 생각되지만, MView와 일반 View의 차이점에

대해서 알아보도록 하자.

 

     가장 큰 차이점은 MView의 경우 물리적으로 Table의 형태로 저장하는 것이고, 일반 View는 그렇지 않다는 것이다. 

     일반 View의 경우 , 자주 사용하는 Query에 대해서, Dictionary 에 저장하고 있기 때문에, 다시금 재 실행되는 경우

     일반 SQL로 조회하는 것 보다 조금 빠를 뿐, 물리적인 DB의 데이터를 조회하는 ROW수는 같다.      

     그러나 MView의 경우, 자주 사용하는 SQL에 대한 결과SET을 물리적인 Table에 저장해 두는 것이기 때문에

     실제 조회되는 ROW수 자체가 줄어들어 보다 빠른 속도 효과를 느낄 수 있다.

 

휴~ 문법적인 것까지 MView에 대해서 알아 보고 싶지만, 우선 개념을 익히는 단계에서 그만두도록 하겠다.

 

지금까지 MView에 대한 설명이었다.

 

                                                                                                - 2013.05.16 랑이씀 -

반응형

+ Recent posts