我正在尝试将大量记录(以百万计)插入到SQLite数据库中。从文件流(C ++)读入数据。如果我开始单个事务,执行所有插入然后提交事务,我只获得实际插入数据库中的一小部分记录。
插入的内容似乎是随机的 - 我无法真正看到任何插入哪些模式以及哪些模式被遗漏。但是,如果我提交然后在2000插入之后再次开始事务,我没有这个问题并且所有记录都被插入,即使进程 更慢。所以......
在一次交易中可以完成多少次插入是否有严格的限制?有没有办法改变这个限制?
答案 0 :(得分:13)
我可以在单个事务中插入10百万行而不会出现问题。
我的猜测:
检查Limits In SQLite。如果您展示如何在代码中准备和执行INSERT,这可能会有所帮助。