Гораздо лучше вставлять несколько сотен строк одновременно, используя таблицы PL / SQL и FORALL для привязки в операторе вставки. Подробнее об этом см. здесь .
Также будьте осторожны с тем, как вы строите таблицы PL / SQL. Если это вообще возможно, предпочтительнее вместо этого выполнять все свои преобразования непосредственно в SQL, используя «INSERT INTO t1 SELECT ...», поскольку выполнение операций строка за строкой в PL / SQL все равно будет выполняться медленнее, чем в SQL.
В любом случае вы также можете использовать вставки с прямым путем, используя INSERT /*+APPEND*/
, который в основном обходит кэш БД и напрямую выделяет и записывает новые блоки в файлы данных. Это также может уменьшить количество журналирования, в зависимости от того, как вы его используете. Это также имеет некоторые последствия, поэтому, пожалуйста, сначала прочтите прекрасное руководство .
Наконец, если вы усекаете и перестраиваете таблицу, может быть целесообразно сначала удалить (или пометить как непригодные для использования), а затем перестроить индексы.