Выберите случайную строку в базе данных SQL - PullRequest
2 голосов
/ 27 мая 2010

Я хотел бы выбрать случайную строку в моей базе данных. Я видел это решение на сайте:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

Этот запрос SQL выполнен, но кто-то сказал мне, что это не производительный запрос. Есть ли другое решение?

Thx

Ответы [ 2 ]

3 голосов
/ 27 мая 2010

Это так. Вы должны посчитать количество строк с помощью

SELECT COUNT(*) FROM `table`;

После этого с помощью функции php mt_rand () получить случайное число от 1 до $ count и получить его с запросом:

SELECT `column` FROM `table` LIMIT $rand, 1
0 голосов
/ 27 мая 2010

Существует гораздо больше дискуссий по этому вопросу, включая вопросы производительности и стратегии для различных СУБД, в этот вопрос .

...