使用sqlldr在plsql developer中导入非常慢

时间:2015-10-09 22:37:19

标签: sql oracle import plsqldeveloper sql-loader

我有一个包含insert语句的大型.sql文件(包含1百万条记录)。 这是由我无法控制的外部系统提供的。

我必须将这些数据导入到我的数据库表中,我认为这是一项简单的工作,但是我觉得我错了。

我正在使用AllroundAutomations的plsql开发人员,我去了

  

工具 - 导入表 - SQL插入 - 指向sqlldr.exe的exe,   并使用insert语句输入我的.sql文件。

但是这个过程非常慢,只能在一分钟内插入 100条记录,我预计整个过程不会超过一小时。

有没有更好的方法来做到这一点,只是导入所有数据听起来很简单,但这需要花费很多时间。

P.S:我是开发人员,而不是DBA而不是Oracle的专家,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:1)

当运行大量INSERT时,您应首先删除表中的所有索引,然后禁用所有约束,然后运行INSERT语句。您还应修改脚本,以便在每1000条记录之后包含一个COMMIT。然后重新添加索引,重新启用所有约束,并收集该表的统计信息(DBMS_STATS.GATHER_TABLE_STATS)。

祝你好运。