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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : yurik shestakov                      2:5020/400     28 Apr 2000  18:39:47
 To : Serge Cherpatyuk
 Subject : Re: DBI (rows)
 -------------------------------------------------------------------------------- 
 
 Serge Cherpatyuk <Serge.Cherpatyuk@p39.f44.n4625.z2.fidonet.org> wrote:
 
  SC> Доброе время суток!
 
  SC> Одним местом чувствую, что после $sth->execute где-то
  SC> должно сидеть количество возвращаемых запросом строк
  SC> и не могу это "где-то" найти. И perldoc DBI мне не
  SC> помогает, может тут помогут?
 
 $sth->rows. 
 
 Hо семантика зависит от драйвера. Hекоторые драйвера (к MySQL и Postgres),
 например, работают таким образом, что после выполнения execute() все
 данные передаются от backend-а к frontend-у, и, как следствие, после
 этого $sth->rows может вернуть точное значение строк в запросе.
 Точнее такое поведение драйвера определяется клиентской библиотекой
 которую пользует DBD::*.
 
 В отличие от этого драйвера к Oracle и Informix работают по другому.
 В этих  СУБД есть понятие курсора. После execute() сервер только готов
 отдавать данные клиенту, но он это не будет делать до тех пор, пока ему
 не скажут FETCH. Как следствие $sth->rows возвращает реально считанное
 (по команде FETCH) количество строк.
 
 Вывод: для определения кол-ва строк в запросе использовать $sth->rows
 после $sth->execute не является переносисмым решением, и в некоторых
 случаях приводит к overhead-у из-за того, что программист просто решил
 посчитать кол-во записей, попадающих под выборку, вместо того,
 чтобы выполнить:
  
 my $count = $dbh->selectrow_array('SELECT count(*) FROM mytable');
 
  SC> Gray.
 
 -- 
 // yurik shestakov (aka shisha)
 --- ifmail v.2.15dev5
  * Origin: home alone (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 Re: DBI (rows)   yurik shestakov   28 Apr 2000 18:39:47 
Архивное /ru.perl/91384a719386.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional