Кстати: если вы просто хотите получить одну строку случайным образом, это намного быстрее, особенно. для больших столов:
выберите * из предела таблицы 12345,1;
, где 12345 - это просто случайное число, вычисленное из количества () строк.
см. Здесь , что больше для рельсов, но взгляните и на комментарии.
Но будьте осторожны: в пределах 12345,2 - вторая строка не случайная, а просто следующая строка после случайной строки. И будьте осторожны: если я правильно помню (например, SQLServer), rand () может быть оптимизирован базами данных, отличными от mysql, что приводит к одинаковому случайному числу для всех строк, что делает результат не случайным. Это важно, когда ваш код должен быть независим от базы данных.