Выборка случайной записи из таблицы базы данных MySQL

Выборка случайной записи из таблицы базы данных MySQL

Простейшим способом отбора записей из базы данных MySQL является "ORDER BY RAND()" в условии запроса.

Решение 1
[SQL]
 

SELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;

Проблемой этого метода есть то, что он очень медленный. Причиной такого медленного выполнения есть то, что MySQL создает временную таблицу со всеми результирующими записями и назначает каждой из них случайный индекс сортировки. Результат сортируется и возвращается.

Есть несколько приемов ускорить это.

(altro…)

Поиск уских мест в mysql

Итак. Все тормозит, код клиентской части идеально просто, записей в БД "вроде бы немного". Что делать? Заниматься profiling'ом. Что для этого есть в mysql? (altro…)