Rychlost ukladani dat do hashe

Petr Vedral postak na metalmex.cz
Středa Červen 1 15:25:26 MEST 2005


Dobry den,
potrebuji co nejrychleji nacist vetsi mnozstvi zaznamu (100000) z databaze
(PostgreSQL+DBI) do hashe. Pricemz klicem zaznamu je cislo zaznamu
(nactene z db) a obsahem zaznamu jsou NAZEV_PRVNIHOSLOUPCE=HODNOTA,
NAZEV_DRUHEHO_SLOUPCE=HODNOTA... Nazvy sloupcu v hashy odpovidaji nazvum
sloupcu v tabulce DB.
Eperimentalne jsem se dostal k tomuto reseni.
Napada vas prosimvas neco rychlejsiho?

while (my $p = $s->{sth}->fetchrow_arrayref())
 {
 $s->{zaz}->{${$p}[0]} = ({
         no=>${$p}[0],
         ob=>${$p}[1],
         pr=>${$p}[2],
         jm=>${$p}[3],
         ic=>${$p}[4],
         dic=>${$p}[5],
         ul=>${$p}[6],
         me=>${$p}[7],
         psc=>${$p}[8]});
               }

Dale jsem zkousel fetchall_hashref(), ktery je cca o 30% pomalejsi nez
toto reseni.


Další informace o konferenci Perl