O wiele lepiej jest wstawić kilkaset wierszy na raz, używając tabel PL/SQL i FORALL do powiązania z instrukcją insert. Szczegółowe informacje na ten temat znajdziesz tutaj .
Uważaj także na sposób konstruowania tabel PL/SQL. Jeśli to w ogóle możliwe, wolę zamiast tego wykonywać wszystkie transformacje bezpośrednio w SQL za pomocą "INSERT INTO t1 SELECT ...", ponieważ wykonywanie operacji wiersz po wierszu w PL/SQL będzie nadal wolniejsze niż w SQL.
W obu przypadkach możesz również użyć wstawiania ścieżki bezpośredniej, używając INSERT /*+APPEND*/
, który zasadniczo omija pamięć podręczną DB i bezpośrednio przydziela i zapisuje nowe bloki do plików danych. Może to również zmniejszyć ilość rejestrowania, w zależności od tego, jak z niego korzystasz. Ma to również pewne konsekwencje, więc przeczytaj dokładna instrukcja
pierwszy.
Na koniec, jeśli przycinasz i odbudowujesz tabelę, warto najpierw usunąć (lub oznaczyć bezużyteczne), a później odbudować indeksy.