【发布时间】:2014-08-22 05:47:05
【问题描述】:
我使用 bcp(sybase 批量插入)插入数百万条记录,但我的公司正在迁移到 oracle。
我不确定我应该使用数组绑定还是 sql 加载器。我在内存中有很多数据。我可以 1. 使用数据创建一个文本文件并使用 sql-loader 插入它,或者 2. 使用数组绑定库插入数据。我不确定哪个对我的应用程序更实用。一个和另一个有什么区别。对某些应用程序更好吗?
我应该用哪个来代替 bcp?
【问题讨论】:
-
我认为您无法比较这些。 sql-loader 是一个独立的 Oracle 工具,用于解析和批量加载文本文件,数组绑定是一种减少网络往返(或上下文切换,如果您在 pl/sql 中使用它)的编程方法。
-
所以如果我需要将 400 万条记录插入到具有 8 亿条记录的表中,两者应该具有相当的性能?
-
基本上我在内存中有很多数据。我可以 1. 使用数据创建一个文本文件并使用 sql-loader 插入它,或者 2. 使用数组绑定库插入数据。我不确定哪个更适合我的应用程序。
-
我希望默认情况下 sql-loader 更快,因为它使用(或至少尝试)直接路径写入,而您的平均插入通过缓冲区缓存以传统方式进行。然而,直接路径并不总是可行的
标签: oracle oracle11g sybase bcp sql-loader