Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/400     17 Dec 2001  12:57:32
 To : Alexey Gradovtsev
 Subject : Re: таймаyт
 -------------------------------------------------------------------------------- 
 
 Здравствуй, Alexey Gradovtsev.
 
  EM>>> вот написал себе счетчик, а сеpевp h1.ru pyгается, что он слишком долго
  EM>>> выполняется и пpеpывает его. хотя y меня дома он ноpмально pаботает.
  EM>>> что может вызывать итакyю задеpжкy?
  AC>> Троекратное чтение лога - дело, скорее всего, небыстрое. Особенно если
  AC>> он малость вырастет. То, что скрипт вообще написан ужасно, это второй
  AC>> момент...
 AG> У меня такую же ошибку выдает h1.ru при работе с Mysql. Причем выдает не
 AG> всегда. Иногда (обычно) все выполняется за секунду, а иногда долго
 AG> тормозит и кричит про сабж. В чем может быть дело?
 
 AG> И скрипт-то несложный. Вот его суть:
 AG> >>====== Вот здесь пошел как бы Windows Clipboard ======<<
 AG> @book_id = $number;
 AG> $sth = $dbh->prepare("SELECT chapter_id FROM chapters WHERE
 AG> book_id=$number")                                 # дальше execute и
 AG> sth->finish
 
 AG> foreach (@chapter_id) {
 AG>     $sth = $dbh->prepare("SELECT question_id FROM questions WHERE
 AG>     $sth = $dbh->chapter_id=$_")               # дальше execute и
 AG> sth->finish.                              # и все question_id заносим в
 AG> массив }
 
 AG> foreach (@question_id) {
 AG>     $sth = $dbh->prepare("SELECT answer_id FROM answers WHERE
 AG> question_id=$_")                                  # дальше execute и
 AG> sth->finish.                                  # и все answer_id заносим в
 AG> массив }
 
 AG> # А теперь все записи с этими ..._id удаляем.
 AG> >>====== А здесь уже как бы и не Windows Clipboard ======<<
 AG> Т.е. надо удалить связанные записи из 4-х таблиц. Все ..._id определены
 AG> как ключи и являются числами типа tinyint либо smallint. В самом жестком
 AG> случае из таблиц надо удалить в сумме около 600 строк.
 
 AG> Я так понимаю, что дело в загрузке сервера на момент запуска скрипта.
 AG> Я прав? А можно как-нибудь избежать таймаута?
 
 Можно. Если делать не так, как ты, а так, как положено на SQL. То есть тремя
 запросами, а не 600.
 
 -- 
 Artem Chuprina
 RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/358.49, ICQ: 13038757
 
 Отправлено через сервер Talk.Ru - http://www.talk.ru
 --- ifmail v.2.15dev5
  * Origin: Talk.Ru (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 таймаyт   Evgeny Malenkov   10 Dec 2001 10:25:08 
 Re: таймаyт   Artem Chuprina   10 Dec 2001 16:49:04 
 таймаyт   Alexey Gradovtsev   16 Dec 2001 22:04:00 
 Re: таймаyт   Artem Chuprina   17 Dec 2001 12:57:32 
 таймаyт   Alexey Gradovtsev   18 Dec 2001 14:49:27 
 Re: таймаyт   Artem Chuprina   18 Dec 2001 18:23:07 
Архивное /ru.perl/6359d74c5928.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional