konto usunięte
Temat: Czy forall w Oracle przyspiesza?
Robię testy.Po skończonych obliczeniach i zapełnieniu tablicy ładuję dane do tabeli.
SPOSÓB PIERWSZY:
Z_liczebnosc:=z_tablica.COUNT;
FOR I IN 1..Z_LICZEBNOSC loop
insert INTO liczby1(liczba,CZAS)VALUES( z_tablica(I).liczba,z_tablica(I).czas);
end loop;
commit;
SPOSÓB DRUGI:
Z_liczebnosc:=z_tablica.COUNT;
FORALL i IN 1..Z_LICZEBNOSC
insert INTO liczby2(liczba,CZAS) VALUES( z_tablica(i).liczba,z_tablica(i).czas);
commit;
Na szkoleniu Oracla, w podręcznikach, wszędzie mówią że forall jest lepsze bo ładuje wszystko na raz więc nie przełącza między maszynami PL/SQL a SQL.
Mi jednak jakich testów bym nie robił to zawsze szybciej wyjdzie tradycyjne wstawiania, pętlą FOR i IN poczatek..koniec loop.
Na półtorej minuty całej procedury różnica wynosi około 1/10 sekundy ale zawsze na korzyść tradycji :)
Czy ktoś ma inne doświadczenia lub uwagi?