在SQLite中的一个事务中可以完成多少次插入?

前端之家收集整理的这篇文章主要介绍了在SQLite中的一个事务中可以完成多少次插入?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试将大量记录(以百万计)插入到sqlite数据库中.从文件流(C)读入数据.如果我开始一个事务,执行所有插入然后提交事务,我只获得实际插入数据库中的一小部分记录.

插入的似乎是随机的 – 我无法真正看到任何插入哪些模式以及哪些模式被遗漏.但是,如果我提交然后在2000插入之后再次开始事务,我没有这个问题并且所有记录都被插入,即使进程慢得多.所以…

在一次交易中可以完成多少次插入是否有严格的限制?有没有办法改变这个限制?

我能够在单个事务中插入1000万行而不会出现问题.

我的猜测:

>您在单个语句中插入太多行并达到表达式树的最大深度限制.这可以完全关闭.
>您正在使用过长的INSERT而没有绑定值并且达到sql语句的最大长度限制.在这种情况下,请使用参数绑定.
>它可能是库中的错误(您是否检查每个API返回错误代码?)

检查Limits In SQLite.如果您展示如何在代码中准备和执行INSERT,这可能会有所帮助.

猜你在找的Sqlite相关文章