Vous pouvez utiliser rand()
, mais les performances sont terribles
select * from users order by rand() limit 5; <-- slow
Je suggérerais de stocker la liste de tous les identifiants d'utilisateur dans un tableau de sérialisation et de la mettre en cache dans un fichier disque. (mise à jour périodique)
Ainsi, vous pouvez le désérialiser en utilisant PHP et utiliser PHP array_rand
pour choisir 5 utilisateurs au hasard.
Pour récupérer toutes les informations, vous pouvez faire
select * from users where user_id in(...); <-- very fast