oracle 怎么对插入几十万条数据进行优化?

时间:2022-11-28 23:27:27
现在有十几万条的数据,怎么写sql语句,执行的效率最高呢?求大神指点。

5 个解决方案

#1


如果是从一张表拷贝到另一张表,那么用append加并行DML,不过这样在未COMMIT前会产生表级锁。例如:
begin
     execute immediate 'alter session enable parallel dml';
     insert /*+append parallel(4)*/ into a select * from b where ...;
end;




#2


oracle 怎么对插入几十万条数据进行优化?
这个时候先去掉索引、主外键什么的如何?

#3


几十万还好,算是比较小的,如果表字段不是特别多的话
可以考虑 修改日志模式NOLOGGING、并行、执行路径加载

#4


可以考虑分批处理,百度下bulk into的用法

#5


该回复于2014-09-22 08:47:54被管理员删除

#1


如果是从一张表拷贝到另一张表,那么用append加并行DML,不过这样在未COMMIT前会产生表级锁。例如:
begin
     execute immediate 'alter session enable parallel dml';
     insert /*+append parallel(4)*/ into a select * from b where ...;
end;




#2


oracle 怎么对插入几十万条数据进行优化?
这个时候先去掉索引、主外键什么的如何?

#3


几十万还好,算是比较小的,如果表字段不是特别多的话
可以考虑 修改日志模式NOLOGGING、并行、执行路径加载

#4


可以考虑分批处理,百度下bulk into的用法

#5


该回复于2014-09-22 08:47:54被管理员删除