2

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

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

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

问题:
我必须使用 SQLite 的托管代码端口,所以这里有什么我遗漏的东西或者我需要拨打的电话CSharp SQLite吗?那里有替代的 SQLite 库端口吗?

4

1 回答 1

5

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

于 2012-07-19T18:45:35.863 回答