{% else-1 %}
Mobiaaa * Верифицирован 2.73
(20 авг 2015, 16:26) (2/0) [2]
SmiLe*, плохая идея, которая, в большинстве случаев создаёт временную таблицу на диске.
На таблицах с десятками тысяч записей order by rand работает до секунды уже.
join поможет (при условии, что id в таблице - это primary key)
SELECT * FROM ( SELECT round(RAND()*( SELECT MAX(id) FROM `table`)) as `id` FROM (SELECT `id` FROM `table` as `tmp` LIMIT 200) as `tmp` order by rand() ) AS `ids` JOIN `table` ON `table`.`id` = `ids`.`id` LIMIT 1
  • 1 из 1