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

MySQL:Xáo trộn kết quả truy vấn hạn chế?

Bạn có thể sử dụng rand() , nhưng hiệu suất rất tệ

select * from users order by rand() limit 5; <-- slow

Tôi sẽ đề xuất, lưu trữ danh sách tất cả id người dùng vào một mảng tuần tự hóa và bộ nhớ cache vào một tệp đĩa. (cập nhật định kỳ)

Vì vậy, bạn có thể hủy tuần tự hóa nó trở lại bằng PHP và sử dụng PHP array_rand để chọn 5 người dùng ngẫu nhiên.

Để tìm nạp thông tin đầy đủ, bạn có thể thực hiện

select * from users where user_id in(...); <-- very fast


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mô hình CakePHP với Giữa các ngày

  2. MYSQL - CHỌN IP v4 / v6, inet_pton &bin2hex

  3. Phiên bản MySQL nào tương thích với phiên bản Airflow 1.10?

  4. Lỗi sql:Việc chuyển đổi kiểu dữ liệu varchar thành kiểu dữ liệu datetime dẫn đến giá trị nằm ngoài phạm vi

  5. MySQL:sự khác biệt của hai tập kết quả