Мы используем файлы cookie
Мы используем файлы cookie для улучшения работы сайта и предоставления вам персонализированного опыта. Правила использования файлов cookie можно найти в нашей политике конфиденциальности
Оптимизировать ORDER BY RAND()
сложно, так как он требует полной выборки данных для генерации случайного числа для каждой строки. Типичные подходы:
Выборка случайного идентификатора:
OFFSET
.sql
Этот метод подойдет для выборки одной или небольшого количества случайных строк. Неэффективен для большого количества строк.
Случайный выбор по диапазону id
:
id
.id >= случайное_число
, используя LIMIT
.sql
Может пропустить строки, если есть пробелы в id
.
Создание временной таблицы или использование подзапроса с сортировкой по случайному числу:
id
в подзапросе.ORDER BY RAND()
к этому подмножеству.sql
Оптимизировать ORDER BY RAND()
сложно, так как он требует полной выборки данных для генерации случайного числа для каждой строки. Типичные подходы:
Выборка случайного идентификатора:
OFFSET
.sql
Этот метод подойдет для выборки одной или небольшого количества случайных строк. Неэффективен для большого количества строк.
Случайный выбор по диапазону id
:
id
.id >= случайное_число
, используя LIMIT
.sql
Может пропустить строки, если есть пробелы в id
.
Создание временной таблицы или использование подзапроса с сортировкой по случайному числу:
id
в подзапросе.ORDER BY RAND()
к этому подмножеству.sql
Зарегистрируйтесь или войдите, чтобы получить доступ к полным ответам на все вопросы из банка вопросов.