Mysql — выбор случайной строки

Для выбора случайной строки из mysql можно использовать следующий запрос:

SELECT * FROM Table ORDER BY RAND()

Для выбора нескольких случайных строк подойдет следующий запрос:

SELECT * FROM table ORDER BY RAND() LIMIT $kolichestvo



PS: при таблицах большого размера данный запрос не самый эффективный.

В процессе выполнения этого запроса MySQL записывает во временную таблицу все строки исходной таблицы, с одним новым полем, в которое записываются результаты функции RAND () — т.е. набор произвольных значений. Затем эта временная таблица сортируется filesort по добавленному полю с произвольными значениями и далее выбираются первые 10 записей.

Один комментарий к “Mysql — выбор случайной строки

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *