Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Kết hợp các kết quả danh mục khác nhau, được sắp xếp theo điểm trong MySQL

Đ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ả.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để xác định điều gì hiệu quả hơn:DISTINCT hay NƠI TỒN TẠI?

  2. Gặp sự cố về múi giờ với PHP và MySQL

  3. Hàm MySQL COS () - Trả về Cosine của một số trong MySQL

  4. Làm cách nào để tạo tệp CSV từ cơ sở dữ liệu bằng Python?

  5. MySQL chọn một cột DISTINCT, với các cột khác tương ứng