Đi đến đầu trang 20. Nếu họ không đáp ứng các yêu cầu, hãy thực hiện một truy vấn bổ sung để lấy các phần còn thiếu. Bạn sẽ có thể đưa ra một số cân bằng giữa số lượng truy vấn và số hàng mà mỗi lần trả về.
Tôi bạn đã đạt top 100, nó có thể đáp ứng các yêu cầu 90% thời gian và sẽ rẻ hơn và nhanh hơn 10 truy vấn riêng biệt.
Nếu đó là SQL Server, tôi có thể trợ giúp thêm ...
Thực ra, tôi có một ý tưởng khác. Chạy một quy trình cứ sau 5 phút sẽ tính toán danh sách và lưu trữ nó vào một bảng. Làm cho DML chống lại các bảng liên quan làm mất hiệu lực bộ đệm để nó không được sử dụng cho đến khi được tạo lại (có lẽ một bài báo đã bị xóa). Nếu bộ nhớ đệm không hợp lệ, bạn sẽ phải quay lại tính toán nó một cách nhanh chóng ... Và dù sao thì cũng có thể sử dụng điều đó để tạo lại bộ đệm.
Có thể cập nhật danh sách đã lưu trong bộ nhớ cache một cách chiến lược hơn là tính toán lại. Nhưng đó có thể là một thách thức thực sự.
Điều này sẽ giúp tăng tốc độ truy vấn và giảm tải trên cơ sở dữ liệu của bạn. Sẽ không thành vấn đề nếu danh sách bài viết của bạn đã quá hạn 5 phút. Rất tiếc, dù chỉ 1 phút cũng có thể hiệu quả.