Câu trả lời:
Các khung nhìn cụ thể hóa dựa trên đĩa và được cập nhật định kỳ dựa trên định nghĩa truy vấn.
Lượt xem chỉ là ảo và chạy định nghĩa truy vấn mỗi lần chúng được truy cập.
Họ đánh giá dữ liệu trong các bảng nằm dưới định nghĩa khung nhìn tại thời điểm khung nhìn được truy vấn . Đây là chế độ xem logic của các bảng của bạn, không có dữ liệu được lưu trữ ở bất kỳ nơi nào khác.
Mặt trái của quan điểm là nó sẽ luôn trả lại dữ liệu mới nhất cho bạn . Các nhược điểm của một cái nhìn là hiệu quả của nó phụ thuộc vào cách tốt một tuyên bố chọn quan điểm dựa trên. Nếu câu lệnh select được sử dụng bởi khung nhìn tham gia nhiều bảng hoặc sử dụng các phép nối dựa trên các cột không được lập chỉ mục, thì khung nhìn có thể hoạt động kém.
Chúng tương tự như các chế độ xem thông thường, ở chỗ chúng là chế độ xem logic của dữ liệu của bạn (dựa trên câu lệnh chọn), tuy nhiên, tập kết quả truy vấn cơ bản đã được lưu vào bảng . Mặt trái của điều này là khi bạn truy vấn một khung nhìn cụ thể hóa, bạn đang truy vấn một bảng , cũng có thể được lập chỉ mục.
Ngoài ra, vì tất cả các liên kết đã được giải quyết tại thời điểm làm mới chế độ xem được cụ thể hóa, bạn phải trả giá của liên kết một lần (hoặc thường xuyên khi bạn làm mới chế độ xem cụ thể hóa của mình), thay vì mỗi lần bạn chọn từ chế độ xem cụ thể hóa. Ngoài ra, với tính năng ghi lại truy vấn được bật, Oracle có thể tối ưu hóa một truy vấn chọn từ nguồn của chế độ xem được cụ thể hóa của bạn theo cách mà nó thay vì đọc từ chế độ xem cụ thể hóa của bạn. Trong các trường hợp bạn tạo các chế độ xem được cụ thể hóa dưới dạng các bảng tổng hợp hoặc dưới dạng bản sao của các truy vấn được thực hiện thường xuyên, điều này có thể tăng tốc đáng kể thời gian phản hồi của ứng dụng người dùng cuối của bạn. Các nhược điểm dù là dữ liệu bạn nhận được trở lại từ cụ thể hóa quan điểm chỉ như cập nhật như thời gian qua, cụ thể hóa quan điểm đã được làm mới .
Các khung nhìn cụ thể hóa có thể được đặt để làm mới thủ công, theo lịch trình đã đặt hoặc dựa trên cơ sở dữ liệu phát hiện sự thay đổi dữ liệu từ một trong các bảng bên dưới . Các khung nhìn được vật chất hóa có thể được cập nhật tăng dần bằng cách kết hợp chúng với các nhật ký khung nhìn được vật chất hóa, đóng vai trò thay đổi các nguồn thu thập dữ liệu trên các bảng bên dưới.
Các khung nhìn cụ thể hóa thường được sử dụng trong các ứng dụng lưu trữ dữ liệu / ứng dụng kinh doanh trong đó truy vấn các bảng thực tế lớn với hàng ngàn triệu hàng sẽ dẫn đến thời gian phản hồi truy vấn dẫn đến một ứng dụng không thể sử dụng được.
Các khung nhìn cụ thể hóa cũng giúp đảm bảo thời điểm nhất quán theo thời gian, tương tự như cách ly ảnh chụp nhanh .
Một khung nhìn sử dụng một truy vấn để kéo dữ liệu từ các bảng bên dưới.
Một khung nhìn cụ thể hóa là một bảng trên đĩa chứa tập kết quả của một truy vấn.
Các khung nhìn cụ thể hóa được sử dụng chủ yếu để tăng hiệu suất ứng dụng khi không khả thi hoặc mong muốn sử dụng chế độ xem chuẩn với các chỉ mục được áp dụng cho nó. Các khung nhìn cụ thể hóa có thể được cập nhật một cách thường xuyên thông qua các kích hoạt hoặc bằng cách sử dụng ON COMMIT REFRESH
tùy chọn. Điều này không đòi hỏi một vài quyền bổ sung, nhưng nó không có gì phức tạp. ON COMMIT REFRESH
đã được đưa ra kể từ ít nhất là Oracle 10.
Các khung nhìn về cơ bản là các cấu trúc giống như bảng được đưa vào một cách nhanh chóng bởi một truy vấn nhất định. Kết quả của một truy vấn xem không được lưu trữ ở bất cứ đâu trên đĩa và chế độ xem được tạo lại mỗi khi truy vấn được thực thi. Các khung nhìn cụ thể hóa là các cấu trúc thực tế được lưu trữ trong cơ sở dữ liệu và được ghi vào đĩa. Chúng được cập nhật dựa trên các tham số được xác định khi chúng được tạo.
Xem: Xem chỉ là một truy vấn được đặt tên. Nó không lưu trữ bất cứ thứ gì. Khi có một truy vấn trên khung nhìn, nó sẽ chạy truy vấn của định nghĩa khung nhìn. Dữ liệu thực tế đến từ bảng.
Quan điểm cụ thể hóa : Lưu trữ dữ liệu vật lý và được cập nhật định kỳ. Trong khi truy vấn MV, nó cung cấp dữ liệu từ MV.
Thêm vào câu trả lời khá kỹ lưỡng của Mike McAllister ...
Các khung nhìn được vật chất hóa chỉ có thể được thiết lập để tự động làm mới thông qua cơ sở dữ liệu phát hiện các thay đổi khi truy vấn xem đơn giản bởi trình biên dịch. Nếu nó được coi là quá phức tạp, nó sẽ không thể thiết lập những yếu tố cơ bản kích hoạt bên trong để theo dõi các thay đổi trong bảng nguồn để chỉ cập nhật các hàng đã thay đổi trong bảng mview.
Khi bạn tạo một khung nhìn cụ thể hóa, bạn sẽ thấy rằng Oracle tạo cả mview và dưới dạng một bảng có cùng tên , điều này có thể khiến mọi thứ trở nên khó hiểu.
Các khung nhìn cụ thể hóa là khung nhìn logic của dữ liệu được điều khiển bởi truy vấn chọn nhưng kết quả của truy vấn sẽ được lưu trữ trong bảng hoặc đĩa, định nghĩa của truy vấn cũng sẽ lưu trữ trong cơ sở dữ liệu.
Hiệu suất của Chế độ xem được vật chất hóa tốt hơn Chế độ xem thông thường vì dữ liệu của chế độ xem được cụ thể hóa sẽ được lưu trữ trong bảng và bảng có thể được lập chỉ mục để nhanh hơn việc tham gia cũng được thực hiện tại thời điểm làm mới chế độ xem được vật chất hóa nên không cần phải cháy mỗi lần tham gia tuyên bố như trong trường hợp xem.
Sự khác biệt khác bao gồm trong trường hợp Chế độ xem, chúng tôi luôn nhận được dữ liệu mới nhất nhưng trong trường hợp Chế độ xem được Vật chất hóa, chúng tôi cần làm mới chế độ xem để nhận dữ liệu mới nhất. Trong trường hợp Chế độ xem được vật chất hóa, chúng tôi cần một trình kích hoạt bổ sung hoặc một số phương thức tự động để chúng tôi có thể giữ cho MV được làm mới, điều này là không bắt buộc đối với các chế độ xem trong cơ sở dữ liệu.