Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Alternativa para ORDER BY RAND() em tabelas unidas?


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.