[SQL] 오라클의 뷰 및 구체화 된 뷰의 차이점은 무엇입니까?
SQL오라클의 뷰 및 구체화 된 뷰의 차이점은 무엇입니까?
오라클의 뷰 및 구체화 된 뷰의 차이점은 무엇입니까?
해결법
-
==============================
1.구체화 된 뷰는 디스크 기반 업데이트 주기적으로 쿼리 정의를 기반으로하고 있습니다.
구체화 된 뷰는 디스크 기반 업데이트 주기적으로 쿼리 정의를 기반으로하고 있습니다.
뷰는 가상 전용 쿼리 정의를 접근 할 때마다 실행합니다.
-
==============================
2.그들은 뷰를 쿼리 할 때 뷰 정의의 기초가되는 테이블의 데이터를 평가합니다. 데이터가 다른 곳에 저장되지와 함께, 당신의 테이블의 논리적이다.
그들은 뷰를 쿼리 할 때 뷰 정의의 기초가되는 테이블의 데이터를 평가합니다. 데이터가 다른 곳에 저장되지와 함께, 당신의 테이블의 논리적이다.
뷰의 위쪽은 항상 당신에게 최신 데이터를 반환하는 것입니다. 뷰의 단점은 성능 뷰의 기반이 얼마나 좋은 SELECT 문에 달려 있다는 것입니다. 뷰에서 사용되는 선택 사항이 많은 테이블을 조인 또는 용도가 아닌 인덱스 열을 기반으로 조인하는 경우,보기는 제대로 수행 할 수 있습니다.
그들은 (SELECT 문을 기반으로) 데이터의 논리적보기 인 것을, 그러나 기본 쿼리의 결과 집합은 테이블에 저장되어있는, 일반 뷰와 유사하다. 이것의 상승은 뷰를 구체화하면 쿼리 할 때, 당신은 또한 인덱싱 할 수있는 테이블을 쿼리하는 것입니다.
모두가 구체화 된 뷰 새로 고침 시간에 해결되었습니다, 당신은의 가격을 지불 조인 때문에 또한, (또는 자주 당신이 당신의 구체화 된 뷰를 새로 고침으로)보다는이보기를 구체화에서 당신이 선택할 때마다 한 번 가입 할 수 있습니다. 쿼리 재 작성이 활성화 또한, 오라클은 쿼리를 최적화 할 수 있습니다 그 대신 당신의 구체화 된 뷰에서 읽는 것과 같은 방법에 구체화 된 뷰의 소스에서 선택합니다. 당신이 집계 테이블의 형태로 또는 자주 실행되는 쿼리의 사본으로 구체화 된 뷰를 생성 할 경우,이 크게 최종 사용자 응용 프로그램의 응답 시간을 단축 할 수 있습니다. 단점하지만 데이터가 만 등까지보기 갱신 된 구체화 마지막으로 현재까지하다 다시보기를 구체화로부터 얻을 수 있다는 점이다.
구체화 된 뷰는 기본 테이블 중 하나에서 데이터의 변화를 검출하는 데이터베이스에 정해진 일정에 수동 새로 설정하거나 기초 할 수있다. 구체화 된 뷰는 점진적으로 기본 테이블에 대한 변경 데이터 캡처 소스의 역할을 구체화 된 뷰 로그로 결합하여 업데이트 할 수 있습니다.
구체화 된 뷰는 가장 자주 사용할 수없는 응용 프로그램에서 결과 질의 응답 시간을 초래할 것이다 수천 수백만 개의 행의 대형 사실 테이블을 조회하는 곳 / 비즈니스 인텔리전스 애플리케이션을 창고 데이터에 사용됩니다.
전망 또한 스냅 숏 격리와 비슷한 시간에 일관성 순간을 보장하는 데 도움이 구체화.
-
==============================
3.뷰는 기본 테이블에서 풀 데이터에 대한 쿼리를 사용합니다.
뷰는 기본 테이블에서 풀 데이터에 대한 쿼리를 사용합니다.
A는 뷰가 쿼리의 결과 집합이 포함되어 디스크에 테이블 구체화.
인가 인덱스 표준 뷰를 사용하는 것이 가능하거나 바람직하지 않을 때 구체화 뷰는 주로 애플리케이션 성능을 증가 시키는데 사용된다. 뷰 트리거를 통해 또는 ON을 사용하여 중 하나를 정기적으로 업데이트 할 수 있습니다 구체화은 REFRESH 옵션을 COMMIT. 이것은 몇 가지 추가 권한이 필요하지 않습니다,하지만 복잡한 아무것도 없습니다. ON은 REFRESH 적어도 오라클 10 년부터되었습니다 COMMIT.
-
==============================
4.뷰는 본질적으로 논리적 테이블과 같은 특정 쿼리에 의해 즉석에서 인구 구조. 뷰 쿼리의 결과는 디스크에 어디 저장되지 않으며 뷰는 쿼리가 실행될 때마다 다시 만들어집니다. 구체화 된 뷰는 실제 구조 데이터베이스에 저장된 디스크에 기록됩니다. 그들은 그들이 만들 때 정의 된 매개 변수에 따라 업데이트됩니다.
뷰는 본질적으로 논리적 테이블과 같은 특정 쿼리에 의해 즉석에서 인구 구조. 뷰 쿼리의 결과는 디스크에 어디 저장되지 않으며 뷰는 쿼리가 실행될 때마다 다시 만들어집니다. 구체화 된 뷰는 실제 구조 데이터베이스에 저장된 디스크에 기록됩니다. 그들은 그들이 만들 때 정의 된 매개 변수에 따라 업데이트됩니다.
-
==============================
5.구체화 된 뷰 - 쿼리의 결과 집합을 포함하는 디스크의 테이블
구체화 된 뷰 - 쿼리의 결과 집합을 포함하는 디스크의 테이블
기본 테이블 가져옵니다 데이터를 쿼리하는 - 뷰를 비는-materiased
-
==============================
6.보기 :보기 단지 명명 된 쿼리입니다. 그것은 아무것도 저장하지 않습니다. 뷰에서 쿼리가있을 때, 뷰 정의의 쿼리를 실행합니다. 실제 데이터는 테이블에서 온다.
보기 :보기 단지 명명 된 쿼리입니다. 그것은 아무것도 저장하지 않습니다. 뷰에서 쿼리가있을 때, 뷰 정의의 쿼리를 실행합니다. 실제 데이터는 테이블에서 온다.
물리적으로 데이터를 저장하고 주기적으로 업데이 트 :보기를 구체화. MV를 조회하는 동안, MV 데이터를 제공합니다.
-
==============================
7.마이크 맥 칼리 스터의 꽤-철저한 대답에 추가 ...
마이크 맥 칼리 스터의 꽤-철저한 대답에 추가 ...
구체화 된 뷰는보기 만 쿼리 컴파일러에 의해 간단한 고려할 때 변화를 감지 데이터베이스를 통해 자동으로 새로 고치도록 설정할 수 있습니다. 그것은 너무 복잡 간주하는 경우, 본질적으로 단지 MVIEW 테이블의 변경된 행을 업데이트하는 소스 테이블의 변경 사항을 추적하기 위해 내부 트리거가 무엇인지 설정할 수 없습니다.
당신이 구체화 된 뷰를 만들 때 오라클은 MVIEW과 일을 혼동 할 수있는 같은 이름의 테이블로 모두 만드는 찾을 수 있습니다.
-
==============================
8.뷰는 데이터 기반 선택 쿼리하지만 쿼리의 결과에 의해이 테이블 또는 디스크에 저장된 얻을 것이다의 논리적보기가 구체화, 또한 쿼리의 정의는 데이터베이스에 저장합니다.
뷰는 데이터 기반 선택 쿼리하지만 쿼리의 결과에 의해이 테이블 또는 디스크에 저장된 얻을 것이다의 논리적보기가 구체화, 또한 쿼리의 정의는 데이터베이스에 저장합니다.
구체화의 성능은 구체화 된 뷰의 데이터를 테이블에 저장하고 테이블이 너무 빨리도 가입 구체화 된 뷰의 시간에 이루어집니다 가입에 대한 색인을 생성 할 수 있기 때문에 정상보기보다 낫다 볼 때마다 불 필요하므로 시간을 새로 고침 보기의 경우와 같이 문을 가입 할 수 있습니다.
다른 차이보기의 경우에는 우리가 항상 최신 데이터를 얻을 수 있지만, 구체화의 경우 우리는 최신 데이터를 가져 오는보기를 새로 고침 할 필요가보기가 포함되어 있습니다. 구체화의 경우 우리는 추가 트리거 또는 우리가 MV가 새로 고쳐 유지할 수 있도록 몇 가지 자동 방법을 필요로 볼이이 데이터베이스에보기 필요하지 않습니다.
from https://stackoverflow.com/questions/93539/what-is-the-difference-between-views-and-materialized-views-in-oracle by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] SQL 문은 열 유형을 얻을 수 있습니다 (0) | 2020.05.30 |
---|---|
[SQL] 어떻게 다른 테이블에 가입하지 않는 행을 제외하려면? (0) | 2020.05.30 |
[SQL] mysqldump를 가진 특정 테이블을 건너 뛰기 (0) | 2020.05.30 |
[SQL] 여러 아이디의 SQL 쿼리의 C #의에서 절에 [마감] (0) | 2020.05.30 |
[SQL] MS SQL Server의 누적 총 [중복] (0) | 2020.05.30 |