我在使用SQLite时遇到问题,需要一些帮助。
我正在使用SQLite预编译的dll在C#.NET中开发应用程序。我使用的版本是x86的“ 1.0.66.0”和x64处理器的“ 1.0.79.0”。
我使用以下命令获得一些结果
*using (DbDataReader reader = _database.ExecuteQuery(selectCommand))*
方案如下:
#1我使用Platform target:x64构建exe并加载x64版本的SQLite
在这种情况下,ExecuteQuery执行selectCommand并在1秒内返回结果(37行)。
#2我使用Platform target:x86构建exe并加载x86版本的SQLite
在这种情况下,ExecuteQuery将执行selectCommand并在55秒内返回结果(37行)。
这很奇怪,因为代码完全相同,唯一更改的是sqlite dll,以便在两种类型的处理器中运行。
有什么想法如何解决此问题?
PS。当我在数据库上运行相同命令时,将在1秒内手动返回数据。
最佳答案
执行查询时,x64版本比x86版本使用更大的虚拟空间。因此,x86平台的执行时间大于x64,并且最小化它的唯一方法是将索引添加到查询表中。
关于sqlite - SQLite x86中的ExecuteQuery命令运行非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18636672/