Модераторы: skyboy

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка случайной записи из большой таблицы 
:(
    Опции темы
sergejzr
Дата 10.3.2009, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



В принципе триггером содержать таблицу идентификаторов не такая уж плохая идея. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
sergejzr
Дата 14.8.2009, 12:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Un salsero
Group Icon


Профиль
Группа: Админ
Сообщений: 13285
Регистрация: 10.2.2004
Где: Германия г .Ганновер

Репутация: 1
Всего: 360



ещё один способ:

Предположим надо выбрать из таблицы "cooccurrences" 2 случайных записей.
$cnt нам известен,. Скриптом генерим два случайных числа rand()%$cnt. предположим получились 15,20 

Код

SELECT * FROM (SELECT @row:=@row+1 as rownum, cooccurrences.* FROM (SELECT @row=0)r,cooccurrences) ranked WHERE rownum IN(15,20) 


Получается, что запрос нумерует все записи таблицы и выбирает номера, которые нам нужны. Во многих случаях это должно работать весьма быстро. 


--------------------
PM WWW IM ICQ Skype GTalk Jabber AOL YIM MSN   Вверх
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.0418 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.