Много по-добре е да вмъкнете няколкостотин реда наведнъж, като използвате PL/SQL таблици и FORALL за обвързване в израза за вмъкване. За подробности относно това вижте тук .
Също така внимавайте с това как конструирате PL/SQL таблиците. Ако изобщо е възможно, предпочитайте вместо това да правите всичките си трансформации директно в SQL, като използвате "INSERT INTO t1 SELECT ...", тъй като извършването на операции ред по ред в PL/SQL пак ще бъде по-бавно от SQL.
И в двата случая можете също да използвате вмъквания по директен път, като използвате INSERT /*+APPEND*/
, който основно заобикаля кеша на DB и директно разпределя и записва нови блокове във файлове с данни. Това също може да намали обема на регистриране, в зависимост от това как го използвате. Това също има някои последици, така че, моля, прочетете фино ръководство
първи.
И накрая, ако отрязвате и изграждате отново таблицата, може да си струва първо да премахнете (или да маркирате неизползваеми) и по-късно да изградите отново индексите.