gpt4 book ai didi

c++ - 在 sqlite3 C++ 中批量插入的更好方法

转载 作者:行者123 更新时间:2023-11-28 04:37:35 44 4
gpt4 key购买 nike

我有要执行的批量插入语句。我可以创建一个包含所有插入语句的单个 sql 字符串并执行一次,

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 进行批量插入?

插入不是安全关键的。只考虑性能。我应该使用准备好的语句吗?

最佳答案

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

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

有关更多最新信息,我会推荐 https://medium.com/@JasonWyatt/squeezing-performance-from-sqlite-insertions-971aff98eef2

至于准备好的陈述:我不确定性能,但始终使用它们是一个好习惯。

关于c++ - 在 sqlite3 C++ 中批量插入的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50974362/

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