RAND() от записей не зависит ORDER BY RAND() зависит от общего количества записей и их объема. Не от удаленных. мускул формирует временную таблицу из выборки и ее сортирует. В общем случае будет выгоднее что-то типа [sql]select * from table where id in (select id from table where $where order by rand())[/sql] - так полная выборка будет только с ид.
вот поэтому и надо указать на предыдущие обсуждения, а не отсылать заново к обрывкам. тем более без их объяснения.
Давно решил сравнить скорости по моему где то уже на форуме приводил ссылку http://www.uvadega.ru/testspeed.php
Вльдемар и снова там обсуждалось. Это "псевдопдобор" и он не работает для больших дыр в базе. при ид от 10000 до 11000 практически всегда будет выбираться 10000. Скорость зависит от объема остальных полей в таблице, которые выбираются. То есть твой "пример" ничего не показывает. И у тебя постгре, а у него надо отдельно смотреть как реализован rand()