|
|
|
| Здравствуйте.
Есть большая таблица около 100 000 позиций. Нужно выводить элементы в случайном порядке. Я знаю, что ORDER BY RAND() не рекомендуется применять, если кол-во позиций превышает 5 000. Можно ли обойти ограничение, если в запрос поставить условие WHERE? Такой запрос будет возвращать 6-20 позиций. | |
|
|
|
|
|
|
|
для: antf
(02.04.2013 в 11:24)
| | если вы сначала выберите 6-20 позиций, а потом перемешаете их, то да
в противном случае нет. | |
|
|
|
|
|
|
|
для: Valick
(02.04.2013 в 12:51)
| | Т.е. такой запрос прокатит?
SELECT *
FROM books
WHERE id_author = 17
ORDER BY RAND()
|
| |
|
|
|
|
|
|
|
для: antf
(02.04.2013 в 13:55)
| | Да, если Вас устроит выборка только по одному автору, то вполне.
Единственное, я бы еще LIMIT добавил. | |
|
|
|