Burçin Yazıcı - J'utilise MySQL pour que les horodatages ne produisent pas de mili/micro secondes. J'ai essayé d'utiliser le microtime() de PHP et de l'insérer dans la requête, mais cela aboutit toujours à 'utiliser temporaire; en utilisant filesort' lors de l'explication.
Pour le moment, je laisse la requête non triée, je renvoie tous les résultats, puis j'utilise PHP
mysql_data_seek($result, rand(0, mysql_num_rows($result)-1));
$row=mysql_fetch_object($result);
pour choisir une ligne au hasard. Je suis prudent quant à l'impact sur les performances de mysql_data_seek
mais cela soulage la base de données pour le moment.