|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Artem Chuprina 2:5020/371.32 13 Feb 2001 16:03:41 To : Igor Tseglevsky Subject : Re: DBI & memory -------------------------------------------------------------------------------- В твоём письме от Sat, 10 Feb 2001 23:26:19 +0300 написано: IT> Hаблюдаю очень странную картину: нижеприведённый скрипт занимается тем, IT> что стабильно отъедает память и к конзу работы занимает почти 400Mb. IT> В таблице около 4e+6 записей. IT> Где грабли и как с ними бороться? IT> Игорь Цеглевский. IT> #!/usr/bin/perl -w IT> use strict; IT> use integer; IT> use DBI; IT> use MyConfig; IT> # подключаюсь к серверу даз банных IT> my $dbh = DBI->connect("DBI:Pg:dbname=$config_db", IT> $config_user, IT> $config_pass, IT> {RaiseError => 1,AutoCommit=>0}); IT> die until defined $dbh; IT> my $sth = $dbh->prepare("select list_id, issue_id, ip from IT> $config_log_ip_table"); die until defined $sth; execute; IT> while ( $sth->fetchrow_arrayref ) { IT> } IT> $sth->finish; IT> $dbh->disconnect; Есть подозрение, что это особенность клиентской библиотеки - весь результат запроса сперва зачитывается в память. Конечно, 100 байт на запись в десяток-другой байт - это немало, но... В общем, я бы попытался прогнуться и написать аналогичную программу на C, чтобы посмотреть, сколько кушает она. -- Artem Chuprina E-mail: ran@ran.pp.ru Programmer FIDO: 2:5020/371.32 Memonet Ltd. Phone: +7-095-284-1356 --- slrn/0.9.6.3-as (Linux) * Origin: AKA с подствольным плюсомётом (2:5020/371.32) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/73411fee152c4.html, оценка из 5, голосов 10
|