Możesz użyć rand()
, ale wydajność jest fatalna
select * from users order by rand() limit 5; <-- slow
Sugerowałbym, aby przechowywać listę wszystkich identyfikatorów użytkowników w tablicy serializacji i pamięci podręcznej w pliku na dysku. (okresowa aktualizacja)
Możesz więc cofnąć serializację za pomocą PHP i użyć PHP array_rand
wybrać 5 losowych użytkowników.
Aby pobrać pełne informacje, możesz to zrobić
select * from users where user_id in(...); <-- very fast