首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在sqlite3 C++中批量插入的更好方法

问在sqlite3 C++中批量插入的更好方法
EN

Stack Overflow用户
提问于 2018-06-21 17:25:09
回答 1查看 345关注 0票数 0

我已经批量插入了要执行的语句。我可以用所有insert语句创建一个sql字符串,并执行一次,

代码语言:javascript
复制
std::string sql_string = "";
int i;
for(i=0;i<1000; i++) {
   Transaction transaction = transactions[i];
   std::string tx_sql = CREATE_SQL_STRING(transaction, lastTxId); // "INSERT INTO (...) VALUES (...);"
   sql_string = sql_string+tx_sql;
   lastTxId++;
}
sqlite3_exec(db, sql_string.c_str(), callback, 0, &zErrMsg);

是否还有其他更好的方法来批量插入sqlite3 c++ API?

插入并不是安全关键。只考虑表演。我应该用事先准备好的声明吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-21 17:38:11

最重要的是:将所有插入放到一个事务中。

有关性能的更详细信息,请参阅正式文档:https://sqlite.org/speed.html (有点过时)

关于更多的最新信息,我将重新评论https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-insertions-971aff98eef2

至于准备好的陈述:我不确定性能,但总是使用它们是一种好做法。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50974362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档