Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/9: Рейтинг темы: голосов - 9, средняя оценка - 5.00
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
1

рандомная выборка

10.07.2011, 19:15. Показов 1790. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
база данных состоит из около 17млн записей в которой указано ид и текст(предложение), цельный текст может иметь длинну от 100 до 500 слов(рандомно) а в базе хранятся предложения(разной длины), итак построил вот такой велосипед...



PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$rand_len=rand(100,500);
$text="";
$n=0;
while($n<100){
    $r=mysql_query("SELECT*FROM test where id=$n");
        // пытался сделать такой запрос но висло
        //$r=mysql_query("SELECT*FROM test ORDER BY rand() LIMIT 1");
    $row=mysql_fetch_array($r);
    $text=$text." ".$row['texts'].". ";
    $arr=explode(" ",$text);
    $count_words=count($arr);
    if($count_words>$rand_len) break;
    $n++;
    }
 
echo $text;
такая конструкция работает и нормально но выбирает по порядку а нужно рандомно, пытался делать запрос через рандом( там где закоментировано) и при запуске скрипт просто вис и все, как сделать такую выборку и какие изменения можно внести чтобы это работало быстрее?

P.s. - строки временами удаляются поэтому высчитывание количества записей и потом выборка по ид не подходит...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.07.2011, 19:15
Ответы с готовыми решениями:

Рандомная выборка из БД
Здравствуйте форумчане. Я много читал про рандомную выборку из БД и нашел, как мне кажется,...

Рандомная выборка
Подскажите пожалуйста, как сделать рандомную выборку с Лимитом 10, сейчас первые 10, а нужно 10...

Рандомная выборка с приоритетом
Добрый день люди добрые, за советом к Вам, т.к. нормального ответа найти не могу нигде) Задача:...

Рандомная выборка значений из БД
доброго времени суток. в таблице test4 бд russian есть полt id со значениями: n..n+50 (незнаем к...

2
5 / 5 / 1
Регистрация: 18.07.2010
Сообщений: 56
11.07.2011, 07:11 2
Цитата Сообщение от Nebiros Посмотреть сообщение
ORDER BY rand() LIMIT 1
прикольное сочетание
может как нить так сработает
SQL
1
2
3
ORDER BY RAND() combined WITH LIMIT IS useful FOR selecting a random sample FROM a SET OF ROWS: 
 
mysql> SELECT * FROM table1, table2 WHERE a=b AND c<d -> ORDER BY RAND() LIMIT 1000;
0
41 / 40 / 16
Регистрация: 23.03.2010
Сообщений: 3,122
11.07.2011, 18:58  [ТС] 3
я думаю все дело изза размеров, 17млн записей итого весит 2.2гига, может ктото с таким сталкивался?
0
11.07.2011, 18:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.07.2011, 18:58
Помогаю со студенческими работами здесь

Рандомная выборка n-записей за 3 последние 3 месяца
Как составить запрос, сделать выборку допустим по 1 или 2 записи с каждого месяца (последние 3...

После добавление через форму в поле "user" выводится рандомная дата
После заполнения формы на страничке add.php &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;meta...

Рандомная выборка
Помогите пожалуйста! Как рандомно выбрать из массива элемент? заранее спасибо

Рандомная выборка
Добрый день! Подскажите пожалуйста, как реализовать аукцион. Т.е. по сути рандомно выбрать из базы...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru