gpt4 book ai didi

oracle-call-interface - 使用 OCI 批量插入

转载 作者:行者123 更新时间:2023-12-01 14:34:22 33 4
gpt4 key购买 nike

我目前正在使用 OCI 从 C++ 代码将记录一条一条地插入到表中。数据在结构的 HashMap 中,我遍历映射的元素,将结构的属性绑定(bind)到表中记录的列(例如

定义插入查询对记录的所有列使用 OCIBindByname( )遍历 map 将绑定(bind)变量分配为结构的属性 OCIStmt执行结束

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

最佳答案

Here是一些示例代码,展示了我如何在 OCI*ML 中实现它.总而言之,这样做的方法是(比如一个包含一列整数的表):

  1. malloc() sizeof(int) × 行数的内存块并填充它。这可能是一个数组。
  2. 使用 *valuep 的指针和 value_sz 的大小调用 OCIBindByPos()
  3. 调用 OCIStmtExecute() 并将 iters 设置为第 1 步中的行数

在我的experience , 100 倍的加速当然是可能的。

关于oracle-call-interface - 使用 OCI 批量插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7733934/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com