背景
我有一个SQLite3数据库,我使用CSharp SQLite来查询数据。我的问题是,使用JOIN或ORDER BY调用的任何查询都非常慢(使用CSharp-SQLite
时为0.1秒,使用orig。SQLite
时为0.003秒。
CSharp SQLite的最新benchmarks表明它最多慢了2倍,这很好,但我的时间要慢30倍。
现在,我已将数据库中的所有必要字段编入索引,并具有相应的主键和外键。另外,最初的SQLite运行这些查询很好。
问题:
我必须使用SQLite的托管代码端口,所以我在这里缺少一些东西或者我需要对CSharp SQLite
进行调用吗?某处有替代SQLite库端口吗?
答案 0 :(得分:5)
在Csharp-sqlite forums中询问了这个确切的问题,成功的解决方案是在编译时删除SQLITE_ENABLE_OVERSIZE_CELL_CHECK标志。这是一个DEBUG标志,导致不必要但密集的计算。