Puoi usare rand()
, ma la performance è terribile
select * from users order by rand() limit 5; <-- slow
Suggerirei di archiviare l'elenco di tutti gli ID utente in un array serializzato e memorizzarlo nella cache in un file disco. (aggiornamento periodico)
Quindi, puoi annullare la serializzazione utilizzando PHP e utilizzare PHP array_rand
per scegliere 5 utenti casuali.
Per recuperare le informazioni complete, puoi farlo
select * from users where user_id in(...); <-- very fast