【发布时间】:2011-11-04 04:27:43
【问题描述】:
我正在尝试将大量记录(以百万计)插入 SQLite 数据库。数据是从文件流 (C++) 中读入的。如果我开始一个事务,执行所有的插入然后提交事务,我只会得到非常小比例的实际插入到我的数据库中的记录。
插入的那些似乎是随机的——我真的看不出任何模式,哪些被插入,哪些被遗漏。但是,如果我提交然后在 2000 次插入之后再次开始事务,我就没有这个问题,并且所有记录都被插入,即使过程慢得多 。所以...
在一个事务中可以进行多少次插入是否有严格限制?有没有办法改变这个限制?
【问题讨论】:
-
也进入了这个问题。只是为了后代把这个贴在这里。如果遇到这种情况,应首先尝试对每个事务仅批处理 1k-2k 插入,看看这是否确实是问题。
-
我也有同样的问题,您需要为每笔交易单独购买 100 件商品。
标签: sqlite transactions