Viết các thao tác cho một hàng vào một bảng dữ liệu không nên mất 5 giây, bất kể kích thước của bảng.
Chỉ mục nhóm của bạn có dựa trên trường dấu thời gian không? Nếu không, nó nên được, vì vậy bạn không viết vào giữa bàn của bạn ở đâu đó. Ngoài ra, hãy đảm bảo rằng bạn đang sử dụng bảng InnoDB - MyISAM không được tối ưu hóa để ghi.
Tôi đề nghị viết thành hai bảng:một bảng dài hạn, một bảng báo cáo ngắn hạn có ít hoặc không có lập chỉ mục, sau đó sẽ được hủy khi cần thiết.
Một giải pháp khác là sử dụng bộ nhớ đệm hoặc cơ sở dữ liệu trong bộ nhớ cho dữ liệu báo cáo trực tiếp, do đó, không có tác động nào đối với cơ sở dữ liệu sản xuất.
Một suy nghĩ nữa:chính xác thì một trong hai báo cáo này phải "sống" như thế nào? Có lẽ truy xuất danh sách mới theo thời gian so với một lần cho mọi lượt xem trang là đủ.