使用 OCI 批量插入

2024-01-06

我目前正在使用 OCI 从 C++ 代码将记录逐一插入到表中。数据位于结构的哈希图中,我迭代映射的元素,将结构的属性绑定到表中记录的列(例如

定义插入查询 对记录的所有列使用 OCIBindByname( ) 迭代地图 将绑定变量分配为结构体的属性 OCIStmt执行 结尾

这非常慢,所以我想通过批量插入来加快速度。有什么好的方法可以做到这一点?我应该使用结构体数组将所有记录插入一个 OCIStmtExecute 中吗?您有任何示例代码可以说明如何执行此操作吗?


Here https://github.com/gaiustech/ociml/blob/master/oci_bulkdml.c是一些示例代码,展示了我如何实现它OCI*ML http://gaiustech.github.com/ociml/。总之,执行此操作的方法是(例如对于具有一列整数的表):

  1. malloc()的一块内存sizeof(int)× 行数并填充它。这可能是一个数组。
  2. Call OCIBindByPos()与该指针*valuep和尺寸value_sz.
  3. Call OCIStmtExecute() with iters设置为步骤 1 中的行数

In my 经验 http://gaiustech.wordpress.com/2011/06/08/ociml-bulk-operations/,100 倍的加速当然是可能的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 OCI 批量插入 的相关文章

  • 来自移动 WebView 的 CORS cookie 凭证在本地加载 file://

    请耐心等待 这个问题需要一些解释 我正在帮助构建一个混合移动网络应用程序 主要代码库是 HTML5 和 JavaScript 它们将封装在本机移动 Web 视图 la Phonegap 中 部分功能要求应用程序将信息发布到由我们的客户之一控

随机推荐