10-12-2008, 07:46 PM
Exact Kéké, j'avais oublié que tu souhaitais pondérer ton random et non envoyer tes joueurs sur les villes de plus fort poids.
Karedas, je ne vois pas trop quoi ajouter, c'est simplement une question de quantité et d'ordres de grandeur.
Je viens de voir un petit article ORDER BY RAND() Optimisation sur la question. L'approche est intéressante.
Sephi-Chan
Karedas, je ne vois pas trop quoi ajouter, c'est simplement une question de quantité et d'ordres de grandeur.
- Dans le cas présent, le ORDER BY RAND() est pratique et simple.
- Quand on dépasse quelques dizaines de milliers d'entrées, ta technique devient beaucoup plus viable (en pratique, je n'ai jamais eu à le faire sur de si grosses tables). Il suffit alors de faire boucler ta requête jusqu'à ce que le nombre de champs renvoyés (mysql_num_rows()) vaille 1 pour éviter les incidents sur les tables aux identifiants non contigus. En pratique, cette boucle n'effectuera qu'une seule itération dans la grande majorité des cas.
Je viens de voir un petit article ORDER BY RAND() Optimisation sur la question. L'approche est intéressante.
Sephi-Chan