추천, 2024

에디터의 선택

뷰와 구체화 된 뷰의 차이점

지금까지 데이터베이스의 물리적 형태로 저장된 원래 테이블에 대해 이야기했습니다. 우리는 테이블의 모든 속성에 액세스 할 수 있습니다. 사용자가 테이블의 일부 속성에 액세스하지 못하도록 제한하고 다른 속성에 액세스 할 수있게하려면 어떻게해야합니까? 마찬가지로 행정 부서의 직원은 직원 테이블의 이름, 주소, 직위, 연령 및 기타 요인을 검색 할 수 있습니다. 그러나 그는 직원의 봉급을 보거나 액세스 할 권한이 없어야합니다.

이러한 경우 테이블의 필수 속성 만 표시 할 수있는 가상 테이블을 생성 할 수 있어야합니다. 이는 View 및 Materialized View를 통해 가능하며이 기사에서 논의 할 것입니다. 아래 비교 차트의 도움으로 뷰와 구체화 된 뷰의 차이점에 대해서도 설명합니다.

비교 차트

비교의 근거전망구체화 된보기
기본보기는 저장되지 않고 단지 표시됩니다.구체화 된보기는 디스크에 저장됩니다.
밝히다보기는 하나 이상의 기본 테이블이나 뷰로 구성된 가상 테이블입니다.구체화 된 뷰는 기본 테이블의 실제 사본입니다.
최신 정보보기는 가상 테이블 (보기)이 사용될 때마다 업데이트됩니다.구체화 된보기는 수동으로 또는 트리거를 사용하여 갱신해야합니다.
속도느린 처리.빠른 처리.
메모리 사용량보기에는 메모리 공간이 필요하지 않습니다.구체화 된보기는 메모리 공간을 사용합니다.
통사론View V As As 만들기구체화 된 뷰 생성 V [절] 새로 고침 [절] On [트리거] As

뷰의 정의

보기는보기 작성 명령을 사용하여 작성된 가상 표 입니다. 이 가상 테이블에는 뷰 만들기 명령의 쿼리 식에서 검색된 데이터가 들어 있습니다. 하나 이상의 기본 테이블 또는 뷰에서 뷰를 작성할 수 있습니다. 원본 기본 테이블을 쿼리하는 것처럼보기를 쿼리 할 수 ​​있습니다.

View가 미리 계산 되어 디스크에 저장 되는 것이 아니라 View가 사용되거나 액세스 될 때마다 계산 됩니다. 뷰가 사용될 때마다 Create View 명령의 쿼리 표현식이 특정 순간에 실행됩니다. 따라서 항상 뷰에서 업데이트 된 데이터를 가져옵니다.

View의 내용을 업데이트하면 원래 표에 반영되고 원래 표의 내용이 변경되면 해당 내용이 View에 반영됩니다. 그러나 이로 인해보기 성능이 느려집니다 . 예를 들어, 두 개 이상의 테이블 조인에서 뷰가 작성됩니다. 이 경우보기를 사용할 때마다 조인을 해결하는 데 시간을 들여야합니다.

그러나 저장 공간이 필요하지 않은 것처럼 몇 가지 장점 이 있습니다. 복잡한 데이터베이스의 사용자 정의 보기를 작성할 수 있습니다. 사용자가 데이터베이스의 중요한 정보에 액세스하는 것을 제한 할 수 있습니다. 여러 테이블의 데이터를 단일 사용자 정의보기로 가져 와서 쿼리의 복잡성 을 줄입니다.

이제 View 구문을 보겠습니다.

View V As As 만들기

모든보기가 업데이트 할 수 없음을 기억하십시오 . DISTINCT 절, Group By 절, CHECK 제약 조건 (검사 제약 조건이 위반되는 경우)을 사용하여 만든보기와 마찬가지로 읽기 전용 옵션은 업데이트 할 수 없습니다.

구체화 된보기의 정의

구체화 된보기는 원래 기본 테이블의 실제 사본 입니다. 구체화 된보기는 원본 기본 테이블의 스냅 샷 또는 그림 과 같습니다. View와 마찬가지로 Materialized View 작성 명령의 조회 표현식 에서 검색된 데이터도 포함됩니다.

그러나 View와는 달리 Materialized View는 사전 계산 되어 객체와 같은 디스크에 저장 되며 사용 될 때마다 업데이트되지 않습니다 . 대신 구체화 된 뷰를 수동으로 업데이트하거나 트리거를 사용하여 업데이트 해야 합니다 . Materialized View를 갱신하는 프로세스를 Materialized View Maintenance 라고합니다.

구체화 된보기는보기에 비해 빠르게 응답합니다. 이는 Materialized View가 미리 계산되어 있으므로 Materialized View를 생성하는 쿼리에서 쿼리를 해결하거나 시간을 낭비하지 않기 때문에 발생합니다. 그러면 Materialized View에 대한 쿼리의 응답 속도가 빨라집니다.

Materialized View의 구문을 확인해 보겠습니다.

구체화 된 뷰 V 작성
[절] 새로 고침 [형식]
ON [방아쇠]
같이

Build 절이 결정할 때, Materialized View를 채우는시기. 새로 고침 유형은 구체화 된보기를 갱신하는 방법을 결정하고 트리거는 구체화 된보기를 갱신 할시기를 결정합니다.

Materized Views는 일반적으로 데이터웨어 하우스 에서 사용됩니다.

뷰와 Materialized View의 주요 차이점

  1. View와 Materialized View의 기본적인 차이점은 View가 물리적으로 디스크에 저장되지 않는다는 것 입니다. 반면에 Materialized Views는 디스크에 저장 됩니다.
  2. 보기는 조회 표현식의 결과로 작성된 가상 표로 정의 될 수 있습니다. 그러나 Materialized View는 기본 테이블의 실제 사본, 그림 또는 스냅 샷입니다.
  3. 뷰를 사용할 때마다 뷰 생성 쿼리가 실행될 때마다 뷰가 항상 업데이트 됩니다. 다른 한편, Materialized View는 수동으로 또는 트리거 를 적용하여 업데이트됩니다.
  4. Materialized View가 미리 계산되므로 View보다 Materialized View가 빠르게 응답합니다.
  5. 구체화 된보기 디스크에 저장된대로 메모리 공간사용 하지만, 보기는 단지 디스플레이 이므로 메모리 공간이 필요하지 않습니다.

결론:

구체화 된보기는보기에 비해 빠르게 응답합니다. 그러나 View는 항상 최신 정보를 사용자에게 제공합니다.

Top