Как и выше, я бы рекомендовал Insert INTO ... AS select ....
или CREATE TABLE ... AS SELECT ...
как самый быстрый способ скопировать большой объем данных между двумя таблицами.
Вы хотите найти вставку с прямой загрузкой в документации к оракулу. Это добавляет два элемента к вашим утверждениям: параллельное и nologging. Повторите тесты, но сделайте следующее:
CREATE TABLE Table2 AS SELECT * FROM Table1 where 1=2;
ALTER TABLE Table2 NOLOGGING;
ALTER TABLE TABLE2 PARALLEL (10);
ALTER TABLE TABLE1 PARALLEL (10);
ALTER SESSION ENABLE PARALLEL DML;
INSERT INTO TABLE2 SELECT * FROM Table 1;
COMMIT;
ALTER TABLE 2 LOGGING:
Отключает ведение журнала отката для вставок в таблицу. Если происходит сбой системы, восстановление не выполняется, и вы не можете выполнить откат транзакции. PARALLEL использует N рабочих потоков для копирования данных в блоки. Вам придется поэкспериментировать с количеством параллельных рабочих потоков, чтобы получить наилучшие результаты в вашей системе.