Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Можно ли использовать ORDER BY RAND при выборке из большой таблицы?
 
 автор: antf   (02.04.2013 в 11:24)   письмо автору
 
 

Здравствуйте.
Есть большая таблица около 100 000 позиций. Нужно выводить элементы в случайном порядке. Я знаю, что ORDER BY RAND() не рекомендуется применять, если кол-во позиций превышает 5 000. Можно ли обойти ограничение, если в запрос поставить условие WHERE? Такой запрос будет возвращать 6-20 позиций.

  Ответить  
 
 автор: Valick   (02.04.2013 в 12:51)   письмо автору
 
   для: antf   (02.04.2013 в 11:24)
 

если вы сначала выберите 6-20 позиций, а потом перемешаете их, то да
в противном случае нет.

  Ответить  
 
 автор: antf   (02.04.2013 в 13:55)   письмо автору
 
   для: Valick   (02.04.2013 в 12:51)
 

Т.е. такой запрос прокатит?

SELECT *
FROM books
WHERE id_author = 17
ORDER BY RAND()

  Ответить  
 
 автор: Sfinks   (02.04.2013 в 17:13)   письмо автору
 
   для: antf   (02.04.2013 в 13:55)
 

Да, если Вас устроит выборка только по одному автору, то вполне.
Единственное, я бы еще LIMIT добавил.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования