ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle - Materialized View
    DB/Oracle 2019. 1. 8. 18:50
    반응형

    구체화된 뷰라고도 불리며 


    실제 테이블에 있는 데이터를 조회한 결과를 스키마 오브젝트에 저장하여 이를 참조 가능하게 하는 뷰이다.


    MView는 대용량의 데이터를 집계하고 요약한 정보를 추출하는 정보의 시스템 과부하를 주지 않으면서 원하는 데이터를


    빨리 추출하게 도와주는 역할을 한다.


    사용자가 일일히 입력을 하지 앉아도 오라클이 알아서 MView에 자동으로 다시 새로운 데이터를 집계하고 값을 넣는다.


    사용자 입장에서는 전혀 신경 쓰지 않고 MView를 다른 테이블이나 뷰처럼 사용하면 된다.



    sql*plus에서 효과적인 DB 탐색 경과 시간을 보기 위해


    set timing on; 을 입력한다.



    Materialized View를 생성하려면 사전에 준비가 필요하다. 


    * 생성 권한 

      - CREATE MATERIALIZED VIEW 권한이 있어야 한다.

      - 다른 스키마에 생성할 경우, -> CREATE ANY MATERIALIZED VIEW 권한이 있어야 한다.

      - 주기적으로 새로운 데이터를 갱신할 경우 -> QUERY REWRITE 권한이 있어야 한다.




    * 파라미터

      - QUERY_REWRITE_ENABLED : QUERY WRITE 기능을 사용하기 위해서는 이 파라미터 값을 TRUE로 설정해야 한다.

      - QUERY_REWRITE_INTEGRITY : QUERY REWRITE의 정확성을 제어하는 파라미터이다.

          -> ENFORCED, TRUSTED, STALE TOLERATED 세 가지 중 한가지 값을 가질 수 있다.




    MView 특성 상 데이터가 많은 테이블이 기준 테이블에 적합하다.


    DBA_TAB_COLUMNS 뷰의 데이터를 가진 임의의 테이블을 기준 테이블로 생성한다.


      - dba_tab_columns의 테이블/뷰 조회를 할 수 없는 에러가 나오면 사용 user에게 dba권한을 부여한다.




    데이터는 481,761개 있다.



    기준 테이블을 생성 후, MView를 생성한다.




    처음에 00.29초 걸리던 것이



    MView로는 00.02초가 되어 시간이 빠르게 단축 되었다.





    반응형

    'DB > Oracle' 카테고리의 다른 글

    ORA-01481: 숫자 형식 모델이 부적합합니다  (0) 2019.11.04
    Oracle - Obecjt  (0) 2019.01.09
    Oracle - DBMS_JOB 패키지 + DBMS_SCHEDULER  (0) 2019.01.08
    oracle - 현재 유저의 권한 보기  (0) 2019.01.08
    Oracle - Package  (0) 2019.01.08

    댓글

Designed by Tistory.