В приложении Rails я использую это для получения случайной строки из таблицы MySQL:
contact = Contact.find(:all, :limit => 1, :order => 'RAND()')[0]
Несмотря на то, что в таблице всего около 20000 строк, это займет пару секунд. Кто-нибудь знает более быстрый способ?
Обновление
Также попробовал просто запустить SQL в консоли ...
SELECT * FROM `contacts` ORDER BY RAND() LIMIT 1
Это все еще занимает много времени, например, две или три секунды.