如何使用CSharp SQLite加速SQL查询?

时间:2012-05-17 20:50:39

标签: c# performance sqlite

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

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

现在,我已将数据库中的所有必要字段编入索引,并具有相应的主键和外键。另外,最初的SQLite运行这些查询很好。

问题:
我必须使用SQLite的托管代码端口,所以我在这里缺少一些东西或者我需要对CSharp SQLite进行调用吗?某处有替代SQLite库端口吗?

1 个答案:

答案 0 :(得分:5)

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