Добавление подсказки APPEND
может включить прямую вставку пути, что позволит избежать создания дополнительных данных REDO, используемых для восстановления:
INSERT /*+ append */ INTO T1
SELECT * FROM T2;
Добавление параллелизма может еще больше повысить производительность:
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ parallel append */ INTO T1
SELECT * FROM T2;
Эти две функции могут сократить время выполнения с минут до секунд, но есть много предостережений, которые вам необходимо понять. Записи прямого пути блокируют таблицу и не подлежат восстановлению; если данные важны, возможно, вы не захотите ждать следующей полной резервной копии. Параллельные запросы работают сложнее , а не умнее и могут похищать ресурсы из более важных заданий. Найти оптимальную степень параллелизма довольно сложно, и вставки с прямым путем имеют много ограничений, таких как триггеры и некоторые виды ограничений ссылочной целостности.
При правильном оборудовании, конфигурации системы и коде вы можете реально повысить производительность в 100 раз. Но если вы новичок в этих функциях, будьте готовы часами изучать их.