Я хотел бы выбрать случайную строку в моей базе данных. Я видел это решение на сайте:
SELECT column FROM table ORDER BY RAND() LIMIT 1
Этот запрос SQL выполнен, но кто-то сказал мне, что это не производительный запрос. Есть ли другое решение?
Thx
Это так. Вы должны посчитать количество строк с помощью
SELECT COUNT(*) FROM `table`;
После этого с помощью функции php mt_rand () получить случайное число от 1 до $ count и получить его с запросом:
SELECT `column` FROM `table` LIMIT $rand, 1
Существует гораздо больше дискуссий по этому вопросу, включая вопросы производительности и стратегии для различных СУБД, в этот вопрос .