在 Oracle OCI 和 OCCI 中,有一些 API 工具可以执行数组插入,您可以在客户端中构建一个值数组,并将该数组连同准备好的语句一起发送到服务器,以便一次将数千个条目插入到表中,从而导致在某些情况下巨大的性能改进。PostgreSQL 中有类似的东西吗?
我正在使用股票 PostgreSQL C API。
一些伪代码来说明我的想法:
stmt = con->prepare("INSERT INTO mytable VALUES ($1, $2, $3)");
pg_c_api_array arr(stmt);
for triplet(a, b, c) in mylongarray:
pg_c_api_variant var = arr.add();
var.bind(1, a);
var.bind(2, b);
var.bind(3, c);
stmt->bindarray(arr);
stmt->exec()