Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

SQL에서 뷰와 구체화된 뷰의 차이점

<시간/>

모든 데이터베이스의 주요 구성 요소는 테이블이라는 것을 알고 있으므로 데이터 접근성을 사용자 정의하기 위해 보기의 개념이 있습니다. 즉, 테이블의 보기를 사용하여 모든 사용자가 해당 데이터에만 액세스하도록 제한할 수 있다고 말할 수 있습니다. 그 사람이 액세스해야합니다. 이제 보기의 특성과 기능을 기반으로 보기와 ​​구체화된 보기를 구분할 수 있습니다.

다음은 보기와 구체화된 보기의 중요한 차이점입니다.

Sr. 아니요. 조회수 구체화된 보기
1 정의 기술적으로 테이블의 뷰는 "쿼리 선택"으로 생성된 테이블의 논리적 가상 복사본이지만 결과는 디스크의 어느 곳에도 저장되지 않고 데이터가 필요할 때 쿼리를 실행해야 할 때마다 저장되므로 항상 다음을 얻습니다. 원본 테이블의 업데이트 또는 최신 데이터. 반면에 구체화된 뷰는 선택 쿼리에 의해 구동되는 데이터의 논리적 가상 복사본이기도 하지만 쿼리 결과는 테이블이나 디스크에 저장됩니다.
2 저장소 Views에서 쿼리 표현식의 결과 튜플은 디스크에 저장되지 않고 쿼리 표현식만 디스크에 저장됩니다. 반면에 구체화된 뷰의 경우 쿼리 표현식과 쿼리의 결과 튜플이 모두 디스크에 저장됩니다.
3 쿼리 실행 위에서 Views의 경우 쿼리 식은 결과가 아닌 디스크에 저장되므로 사용자가 데이터를 가져오려고 할 때마다 쿼리 식이 실행되므로 사용자가 매번 최신 업데이트된 값을 얻을 수 있습니다. 반면에 구체화된 뷰의 경우 쿼리 결과가 디스크에 저장되므로 사용자가 데이터를 가져오려고 할 때마다 쿼리 표현식이 실행되지 않아 사용자가 최신 업데이트 값을 얻지 못하게 됩니다. 데이터베이스에서 변경되는 경우.
4 비용 효율성 View에는 연결된 저장 비용이 없으므로 연결된 업데이트 비용도 없습니다. 반면에 구체화된 보기에는 연결된 저장 비용이 있으므로 연결된 업데이트 비용도 있습니다.
5 디자인 SQL의 보기는 보기를 정의하는 SQL 표준이 있기 때문에 고정 아키텍처 접근 방식으로 설계되었습니다. 반면 SQL의 Materialized Views는 일반적인 아키텍처 접근 방식으로 설계되어 이를 정의하기 위한 SQL 표준이 없으며 일부 데이터베이스 시스템에서 확장 기능으로 그 기능을 제공하는 경우입니다.
6 사용 뷰는 일반적으로 데이터에 자주 액세스하지 않고 테이블의 데이터가 자주 업데이트될 때 사용됩니다. 반면 구체화된 뷰는 데이터에 자주 액세스해야 하고 테이블의 데이터가 자주 업데이트되지 않을 때 사용됩니다.