Общие > Базы данных

Perl DBI:fetchall_arrayref жрет память?

<< < (2/2)

Phoinix:
my $row1 = $sth -> fetchrow_arrayref();
my $row2;
while ($row2 = $sth -> fetchrow_arrayref()) {
#  $row2 - следующая строка
#  $row1 - текущая строка
# обрабатываешь свои записи
$row1 = $row2;
}
# обработка последней записи...

только я сомневаюсь, что $sth при этом не будет съедать память...
IMHO тогда лучше циклом выполнять запросы...
А вообще лучше подумать о втором запросе который будет выбирать только то, что тебе требуется выбирать из следующих записей...

NetHead:
Я так пробовал делать, только глюк получился какой-то. Я и выбирал между этими способами: fetchall и тот который написал Phoinix. Какой рациональнее использовать?

Phoinix:
NetHead

--- Цитировать ---Phoinix
только я сомневаюсь, что $sth при этом не будет съедать память...
--- Конец цитаты ---

!!!
$sth = $dbh -> prepare($sql); $sth -> execute();
$sth - результат запроса! Сколько он будет занимать памяти, если ты не изменишь запрос?


--- Цитировать ---Phoinix
А вообще лучше подумать о втором запросе который будет выбирать только то, что тебе требуется выбирать из следующих записей...
--- Конец цитаты ---



--- Цитировать ---NetHead
Я так пробовал делать, только глюк получился какой-то.
--- Конец цитаты ---

Что такое глюк? В программировании есть только ошибки, которые надо исправлять!

NetHead:

--- Цитировать ---Что такое глюк?
--- Конец цитаты ---

А глюк это:
my $row1 = $sth -> fetchrow_arrayref();
my $row2;
while ($row1->[0]) {
  $row2 = $sth -> fetchrow_arrayref();
  # в этом месте $row2 выбрал ту же строку, что и $row1

  $row1 = $row2;
}

Навигация

[0] Главная страница сообщений

[*] Предыдущая страница

Sitemap 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 
Перейти к полной версии