gpt4 book ai didi

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

转载 作者:IT王子 更新时间:2023-10-29 06:20:07 32 4
gpt4 key购买 nike

我正在尝试将大量记录(数百万)插入到 SQLite 数据库中。从文件流 (C++) 中读取数据。如果我开始单个事务,执行所有 插入,然后提交该事务,我实际上只得到很小一部分记录插入到我的数据库中。

插入的那些看起来是随机的——我真的看不出有什么模式可以插入,哪些被遗漏。但是,如果我提交并在大约 2000 次插入之后再次开始事务,我就没有这个问题并且所有的记录都被插入,即使这个过程慢得多。。所以……

在一个事务中可以完成多少插入有严格的限制吗?有没有办法改变这个限制?

最佳答案

我能够毫无问题地在单个事务中插入 1000 万行。

我的猜测:

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

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

关于sqlite - 在 SQLite 的一个事务中可以完成多少次插入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7199305/

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