Burçin Yazıcı - Estou usando o MySQL para que os timestamps não produzam mili/micro segundos. Eu tentei usar o microtime() do PHP e inseri isso na consulta, mas isso ainda resulta em 'usando temporário; usando filesort' ao explicar.
Por enquanto estou deixando a query sem ordenação, retornando todos os resultados, então usando PHP's
mysql_data_seek($result, rand(0, mysql_num_rows($result)-1));
$row=mysql_fetch_object($result);
para escolher uma linha aleatória. Estou cauteloso com o impacto no desempenho de
mysql_data_seek
mas está tirando a pressão do banco de dados por enquanto.