Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP+MySQL)Тормоза при повторном селекте к MySQL. / 7 сообщений из 7, страница 1 из 1
17.03.2005, 14:16
    #32965938
DRC-DIMMoN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
Доброе время суток!

Народ помогите, не могу справится с запросом буксует и все тут.
Ситуация такая: выполняются 2 запроса почти одинаковы, выбираются
данные с одной таблички только первый раз идет сортировка по одному
полю, а второй раз по другому. Так вот, сами запросы выполняются
быстро, а букс, что самое интересное, происходит в приведенном ниже
коде, только при 2 запросе (если их поменять местами, то первый
проходит нормально, а второй буксует) втором запросе, а точнее на
операторе echo который выбирает данные из $row->..., и если поставить
замер времени в середину цикла, то букс примерно на 6 и иногда на 7
записи.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
while ($row = db_fetch_object($res))        {
  if($per ==  1 )
    echo '<tr><td class="lMenu"><b>'.$num .'. </b><a href="?m=p_detail&pp='.$row->id.'&pr='.$row->razdel_id.'&pc='.$row->category_id.'">'.$row->name.' '.$row->ver.'</a></td></tr>';
  else
    echo '<tr><td bgcolor="#FFF1F1" class="lMenu"><b>'.$num .'. </b><a href="?m=p_detail&pp='.$row->id.'&pr='.$row->razdel_id.'&pc='.$row->category_id.'">'.$row->name.' '.$row->ver.'</a></td></tr>';
  $per *= - 1 ;
  $num +=  1 ;
}

Может кто знает как, это побороть, заранее спасибо.

--
С Уважением, Котельников Дмитрий!
...
Рейтинг: 0 / 0
17.03.2005, 14:46
    #32966037
Fabrichenko Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
ну я думаю из этого кода тяжело чего нить понять ... уж очень мало

и еще чем вас не устраивает mysql_fetch_array()?
------------------------
жизнь как пестня
...
Рейтинг: 0 / 0
17.03.2005, 15:40
    #32966203
4m@t!c
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
Странно, буксуют запросы, а выдаешь ты код, где запросами и не пахнет...
Сами запросы покажи...
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
17.03.2005, 16:27
    #32966364
DRC-DIMMoN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
4m@t!cСтранно, буксуют запросы, а выдаешь ты код, где запросами и не пахнет...
Сами запросы покажи...


Запросы выполняются быстро, я ж вроде писал в письме а вот выдача медлит на 6 проходе цикла, я сам в шоке, ниже есть код, первый раз он выполняется для поля down_num, а второй раз для поля down_num_all, тормоз в 1.5 сек происходит при 6 или 7 проходе цикла.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
  global $gIsLocal;
  echo '
  <table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
                  <td align="left"  class="lTit">TOP 15 (Общий):</td>
                  <td bgcolor="#E56C54" valign="top" rowspan="50"><img src="img/p_w.png" width="1" height="1" border="0" alt=""></td>
          </tr>
          <tr>
                  <td bgcolor="#E56C54"><img src="img/l21_w.png" width="21" height="1" border="0" alt=""></td>
          </tr>
  ';
  $res = db_query('
    select
      p.id,p.name,p.ver,p.razdel_id,p.category_id, s.down_num_all as rait
    from
      prog_stat s, program p
    where
      p.visible=1 and s.program_id=p.id
    group by
      s.program_id
    order by
      s.down_num_all desc, p.id desc
    limit 15
  '
  ,$link);

  $num =  1 ;
  $per =  1 ;
  while ($row = db_fetch_object($res))        {
  if($gIsLocal)
    set_time();
    if($per ==  1 )
      echo '<tr><td class="lMenu"><b>'.$num .'. </b><a href="?m=p_detail&pp='.$row->id.'&pr='.$row->razdel_id.'&pc='.$row->category_id.'">'.$row->name.' '.$row->ver.'</a></td></tr>';
    else
      echo '<tr><td bgcolor="#FFF1F1" class="lMenu"><b>'.$num .'. </b><a href="?m=p_detail&pp='.$row->id.'&pr='.$row->razdel_id.'&pc='.$row->category_id.'">'.$row->name.' '.$row->ver.'</a></td></tr>';
    $per *= - 1 ;
    $num +=  1 ;
  if($gIsLocal)
    print_time('problem'.$i);
  }

  echo '
  </table>
  ';
  db_free_result($res); 
...
Рейтинг: 0 / 0
17.03.2005, 16:30
    #32966372
DRC-DIMMoN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
Fabrichenko Viktorну я думаю из этого кода тяжело чего нить понять ... уж очень мало



db_fetch_object это обертка:

Код: plaintext
1.
2.
3.
function db_fetch_object($result)  {
  $row = mysql_fetch_object($result);
  return $row;
}

Разве он быстрее чем mysql_fetch_object?
...
Рейтинг: 0 / 0
17.03.2005, 17:42
    #32966602
Fabrichenko Viktor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
Ну насчет скорости ничего не могу сказать. Я знаю только то что он стабильно и нормально работает, а тот мифический (IMHO) выигрыш в скорости я думаю настолько мал что это гораздо менее критично чем те проблемы которые происходят у Вас. К томуже у вас он работает медленее :-)) (наверное по вашим же словам)
------------------------
жизнь как пестня
...
Рейтинг: 0 / 0
17.03.2005, 18:34
    #32966770
DRC-DIMMoN
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
(PHP+MySQL)Тормоза при повторном селекте к MySQL.
Fabrichenko ViktorНу насчет скорости ничего не могу сказать. Я знаю только то что он стабильно и нормально работает, а тот мифический (IMHO) выигрыш в скорости я думаю настолько мал что это гораздо менее критично чем те проблемы которые происходят у Вас. К томуже у вас он работает медленее :-)) (наверное по вашим же словам)


Ну да, ет точно!
Я просто с таким фокусом еще не всречался, могу дать ссылку на сайт где каждый скрипт показан по секундам, и именно этот цикл каждый вход тоже расчитан, если смому посмотреть то это просто прикол, на 6-7 позиции задерка в несколько тыс. раз
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP+MySQL)Тормоза при повторном селекте к MySQL. / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]