Nhật ký chế độ xem được vật chất hóa (MV) có thể được sử dụng để cho phép MV thực hiện làm mới nhanh, điều này chỉ sửa đổi dữ liệu đã thay đổi. Tuy nhiên, các điều kiện khác nhau ngăn MV sử dụng nhật ký và do đó yêu cầu làm mới hoàn toàn. Oracle đã thực hiện làm mới hoàn toàn nguyên tử dưới dạng xóa và chèn mọi bản ghi. Nó thực hiện điều này ngay cả khi cuối cùng không có thay đổi nào đối với dữ liệu.
Có cách nào để làm cho bản sao này thông minh liên quan đến việc làm lại thế hệ không? Một MERGE theo sau là XÓA yêu cầu truy vấn nguồn hai lần. Nó có đáng để thu thập số lượng lớn dữ liệu để thực hiện BULK MERGE và XÓA? Có cách nào tốt hơn?
Cập nhật:
Tôi đã khám phá bằng cách sử dụng một bảng tạm thời toàn cầu như là một khu vực tổ chức. Mặc dù họ sử dụng ít hơn một nửa số làm lại, nhưng họ vẫn sử dụng nhiều.
insert
s. Điều này phù hợp chặt chẽ với kết quả tôi đang thấy và tốt hơn nhưng không tốt như tôi muốn.
append
gợi ý) không phải là điều kiện lý tưởng để giảm làm lại - Tôi đã chạy một số thử nghiệm để cho biết ý tôi là gì. Được đăng dưới dạng câu trả lời vì chúng sẽ không phù hợp với một bình luận
insert
ops tạo ra hoàn tác ít hơn nhiều so vớidelete
hoặcupdate
ops (hầu như không có trong thực tế). Có nhiều gtts để tránh bất kỳ ops đắt tiền nào có thể là một cách tiếp cận tốt