(一)、CTAS方式:
create table t1
as
select * from t;
为了提高速度可以使用下面方法,来减少插入过程中产生的日志,并且可以制定并行度:
create table t1 nologging parallel(degree 2) as select * from t;
(二)、常规的插入方式:
insert into t1 select * from t;
为了提高速度可以使用下面方法,来减少插入过程中产生的日志:
alter table t1 nologging;
insert into t1 select * from t;
commit;
(三)、并行DML:
如果你的服务器有多个cpu,采用parellel hint,可以大幅度的提高效率
ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+ PARALLEL(tableA, 2) */INTO tableA
SELECT * FROM tableB;
为了提高速度可以使用下面方法,来减少插入过程中产生的日志:
INSERT /*+ PARALLEL(tableA, 2) */INTO tableA NOLOGGING
SELECT * FROM tableB;
oracle默认并不会打开PDML,对DML语句必须手工启用。即需要执行
alter table enable parallel dml命令。
(四)、oracle批量拷贝:
set array