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