En ce moment je sélectionne 3 lignes aléatoires d'une table en utilisant ORDER BY Rand();
comme indiqué sur tout le web cette méthode est très lente. Je l'utilise sur une base de données avec seulement 30 lignes et il faut beaucoup de temps pour retourner la valeur. La plupart des autres solutions que j'ai trouvées ne retournent qu'une seule ligne. Quel est le meilleur moyen de renvoyer plusieurs lignes aléatoires?Obtenir au hasard plusieurs lignes à partir d'une table
$get_projects_query =
mysql_query(
"SELECT p_id FROM project_data WHERE p_featured='1' ORDER BY Rand() LIMIT 3"
) or die(mysql_error());
while($project_row = mysql_fetch_array($get_projects_query)) {?>
//Do stuff
}
//end three random featured projects loop)
@BandonRandon - Vous devez vérifier quelle partie/méthode est lente. 'order by rand()' ne ralentirait pas sur la table avec 30 lignes seulement. – ajreal
Etes-vous sûr que c'est en fait la requête qui prend autant de temps? – Gumbo
@ajreal, je me demande si c'est mon serveur qui est lent alors ou le fait que je charge des images. humm ..... – BandonRandon