gpt4 book ai didi

c# - 如何批量查询SQLite数据库

转载 作者:行者123 更新时间:2023-12-01 22:39:19 26 4
gpt4 key购买 nike

我正在使用 C# 和 .NET 4.5。我正在制作一个收集特定数据的刮刀。每次抓取一个值时,我都需要确保它尚未添加到 SQLite 数据库中。

为此,每次抓取值时我都会进行调用以查询数据库以检查它是否包含该值,如果不包含,我会再次调用以将值插入到数据库中。

由于我每秒抓取多个值,因此这会导致 IO 密集型,并且不断调用数据库。

我的问题是,有没有更好的方法来做到这一点?也许我可以将抓取的值排队,然后立即运行批量查询?这可能吗?

最佳答案

我看到三种方法:

  1. 使用INSERT OR IGNORE,如果条目已经存在(基于主键和唯一字段),则会拒绝该条目。或者简单地 INSERT (或其等效项(INSERT 或 ABORT)),它将返回 SQLITE_CONSTRAINT,如果需要,您必须捕获和管理该值计算失败的插入次数。
  2. 在数据库之外累积您想要进行的更新。当您积累了足够的/全部后,开始一个事务(BEGIN;),进行插入(您也可以在此处使用INSERT OR IGNORE),提交事务(提交;)
  3. 如果您的数据模型允许,您可以预先获取已有项目的列表,并根据该列表进行检查。

关于c# - 如何批量查询SQLite数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23095062/

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