Skip to main content
 首页 » 编程设计

c#之如何使用 CSharp SQLite 加速 SQL 查询

2025年12月25日29itcoder

背景:
我有一个 SQLite3 数据库,我正在使用 CSharp SQLite来查询数据。我的问题是,任何使用 JOIN 或 ORDER BY 调用的查询都非常慢(使用 CSharp-SQLite 为 0.1 秒,而使用 orig.SQLite 为 0.003 秒)。

最新benchmarks对于 CSharp SQLite 表明它最多慢 2 倍,这很好,但我得到的时间慢了 30 倍。

现在,我已经为数据库中的所有必要字段建立了索引,并拥有适当的主键和外键。另外,原始 SQLite 可以很好地运行这些查询。

问题:
我必须使用 SQLite 的托管代码端口,那么这里是否缺少某些内容或需要对 CSharp SQLite 进行调用?是否有替代的 SQLite 库端口?

请您参考如下方法:

这个精确的问题是在 Csharp-sqlite forums 中提出的。成功的解决方案是在编译时删除 SQLITE_ENABLE_OVERSIZE_CELL_CHECK 标志。这是一个 DEBUG 标志,会导致不必要的但密集的计算。