Chức năng này sẽ được phục vụ tốt nhất bởi một tính năng có tên là chế độ xem cụ thể hóa , MySQL không may thiếu. Bạn có thể cân nhắc chuyển sang một hệ thống cơ sở dữ liệu khác, chẳng hạn như PostgreSQL.
Có nhiều cách để mô phỏng các khung nhìn cụ thể hóa trong MySQL bằng cách sử dụng các thủ tục, trình kích hoạt và sự kiện được lưu trữ. Bạn tạo một thủ tục được lưu trữ để cập nhật dữ liệu tổng hợp. Nếu dữ liệu tổng hợp phải được cập nhật trên mỗi lần chèn, bạn có thể xác định một trình kích hoạt để gọi quy trình. Nếu dữ liệu phải được cập nhật vài giờ một lần, bạn có thể xác định Sự kiện lập lịch MySQL hoặc một công việc cần thiết để làm điều đó.
Có một cách tiếp cận kết hợp, tương tự như tùy chọn 3 của bạn, không phụ thuộc vào ngày của dữ liệu đầu vào; hãy tưởng tượng điều gì sẽ xảy ra nếu một số dữ liệu mới đến quá muộn và không được đưa vào tập hợp. (Bạn có thể không gặp sự cố này, tôi không biết.) Bạn có thể xác định trình kích hoạt chèn dữ liệu mới vào "tồn đọng" và yêu cầu thủ tục cập nhật bảng tổng hợp chỉ từ tồn đọng.
Tất cả các phương pháp này được mô tả chi tiết trong bài viết này: http://www.fromdual.com/ mysql-materialized-views