美好的一天。插入表格的有效方式<oracle 10g>
我们需要将大约800000条记录插入到一个自定义表格中,该表格现在用一个简单的插入语句花费约30+分钟。我们将从文件中读取记录并使用简单的插入语句创建一个.sql文件。我相信会有一种有效的方式来插入不同于正常方式的记录。
我试过了下面。
- /附加/...。由于在每个插入语句之后进行提交,所花的时间比以前多。因此,这是排除
- 插入所有 到c_table(X,X,X)值('','','',)
到c_table(X,X,X)值('','' ,'',) 进入c_table(X,X,X)值('','','',) 从双选择1;
对于计数为1000的选项2是好的,但对于批量插入它再次需要超过30分钟。 如果有其他选项,请分享。
注意:我不能使用sqloader或datapump,因为我们没有数据库密码。
问候, 普拉香特
如果您没有数据库密码,那么SQL文件对您有什么好处?您需要登录到数据库才能运行.sql文件。 800,000个单独的SQL语句,其中没有一个使用绑定变量会非常慢 - 大部分时间可能用于解析800,000个单独的SQL语句。 SQL * Loader将会更加高效。一个简单的Java/C#/ <<您最喜欢的语言>>应用程序创建一个带有绑定变量的单个语句并遍历80万行将会更加高效。 – 2012-08-16 00:17:30
@JustinCave:这被设置为一个批处理作业进程,它将记录插入到自定义表中。它将通过说“密码将被加密的”X“用户来执行。我相信要使用SQL * Loader我们需要传递用户名/密码。请建议。 – kanna 2012-08-16 00:29:27
更多关于SQL * Loader [here](http://www.orafaq.com/wiki/SQL*Loader_FAQ) – Annjawn 2012-08-16 00:31:34