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


ru.cgi.perl

 
 - RU.CGI.PERL ------------------------------------------------------------------
 From : Artem Chuprina                       2:5020/371.32  07 Jul 2000  19:12:45
 To : vitus@ice.ru
 Subject : Re: Session Management
 -------------------------------------------------------------------------------- 
 
 AT>>>  Вроде бы, при наличии mod_perl и постоянного соединения с базой,
 AT>>> производительность должна быть достаточной для серьезного использования...
 
 AC>>Я бы скорее пробовал так: для типичных запросов создаются stored procedures,
 AC>>что даёт базе возможность избавиться от компиляции SQL-запроса. Даже если их
 AC>>будет несколько десятков, это фигня по сравнению с несколькими тысячами
 vir> views
 AC>>или курсоров. Hетипичные запросы редки, а для типичных несколькими десятками
 AC>>обойтись удастся. Держим постоянное соединение с базой и 
 
 AC>>$sth = $db->prepare("execute sp_smth ".join(",
 vir> ",map($db->quote($_),@args)));
 AC>>while (...)
 AC>>    $sth->fetch
 AC>>}
 AC>>$sth->finish
 
 vir> А я делаю (реально) так - в запросах в нужные места ставлю  placeholders
 vir> (? которые). При старте апача для самых частых запросов, и при
 vir> первом обращении - для более редких делаю prepare  и запоминаю хэндл
 vir> оператора в глобальном хеше.
 
 vir> Далее 
 
 vir>    $sth->execute(@args);
 vir>    while (@result=$sth->fetchrow_array) {
 vir>      ...
 vir>    }
 vir>    $sth->finish.
 
 vir> Я, правда, не уверен, что во во всякой базе запрос компилируется при
 vir> prepare, но в Oracle он точно это делает.
 
 В sybase, например, наличие placeholder'а приводит к созданию временной sp,
 так что там это может быть осмысленно, пока коннект висит, а в постгресе и
 мыскле - это просто текстовая подстановка. SP же компилируется заведомо. Там,
 где она есть... Так что приём зависит от базы.
 
 Кстати, это глобальный хэш чего? И он один на все процессы или у каждого
 апача? Можно мылом поподробнее.
 
 -- 
 Счастливо!
   Ран.
 --- ifmail v.2.14.os-p7-tma3
  * Origin: MemoNet (2:5020/371.32@fidonet)
 
 

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

 Тема:    Автор:    Дата:  
 Re: Session Management   Artem Chuprina   07 Jul 2000 19:12:45 
Архивное /ru.cgi.perl/34731a1536ef.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional