|
|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Timur Vafin 2:5020/400 31 Jan 2003 00:31:34 To : Victor Wagner Subject : Re: DBI::fetchall_arrayref -------------------------------------------------------------------------------- Мир вертится, коннект нормальный, а посему приветствую тебя, Victor Thu Jan 30 2003 22:27, Victor Wagner wrote to "Timur Vafin": VW>>> И еще есть всякие разные варианты - получать массив ссылок на массивы VW>>> или массив ссылок на хэши, где ключами являются имена полей. Мне VW>>> последний вариант больше нравится. TV>> Это все понятно... Я про то что когда мы получам эту ссылку, то у нас TV>> все данные сразу кладутся в память. А когда в цикле используем метод TV>> fetchrow_array TV>> while (my @fileds = $sth->fetchrow_array) { VW> ^^^ VW> Ты просил array, тебе и дали array, а попросишь arrayref, тебе и дадут VW> _ссылку_ на array. Дык не про это я... А про то, что получая через fetchall_arrayref ссылку на массив ссылок весь этот массив кладется в память, так? А когда используем fetchrow_array, то данные выбираются постепенно, т.е. в памяти все данные, удовлетворяющие запросу не находятся, так? Меня только этот вопрос инетерсует... В общем по моим результатам получатся вот что: Из 10М таблицы выполнялся запрос SELECT * FROM mkorg fetchall_arrayref отжирает 512*11511 fetchrow_array отжирает 512*3668 - после 100 итерации VW> Впрочем, кто тебе мешает сразу ее отдереференсить? VW> for my $row (@{$sth->fetchall_arrayref()}) { Ух.. Hе знал что это так называется %) Всё будет хорошо... --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/16679d4fb60a1.html, оценка из 5, голосов 10
|