Подскажите пожалуйста существует ли "база данных", в которой бы можно было сделать выборку N случайных записей из отфильтрованного по условиям набора?
Псевдокод:
SELECT id, name, param1, param2
FROM table
WHERE param1 = some_value
AND param2 > another_one
ORDER BY RANDOM()
LIMIT @N
MySQL, да и, наверное, другие популярные базы, от такого запроса умирают, естественно.
Всякие обходные
костыли, типа дополнительное поле с рандомом, перемешивать по крону,
составлять запросы на лету и
процедуры и пр. не совсем подходят - нужно действительно при каждом запросе отдавать рандомные строки, N > 10000, id с дырами, объемы большие. Может быть есть что-то специализированное? Не обязательно SQL. Может даже сервис, хоть и не желательно.