Случайная строка в таблице MySQL
Материал из Викиреальностя
Случайная строка в таблице MySQL — задача выборки случайной строки из таблицы MySQL. Характеризуется потенциально высокой вычислительной сложностью.
[править] Хороший вариант
Используются собственные переменные:
SET @random := CEIL(RAND() * (SELECT MAX(primary_key) FROM table)); SELECT * FROM table WHERE primary_key = @random;
[править] Плохие варианты
SELECT * FROM table ORDER BY RAND() LIMIT 1;
Данный код создает полную временную копию таблицы, в которой каждая строка дополнена полем со случайным значением, затем сортирует ее по этому значению и возвращает 1 строку. Эти операции создают большую и ненужную нагрузку на сервер базы данных во время выбора каждой новой случайной строки.
Случайная строка в таблице MySQL относится к теме «Программирование» |