SQLite x86中的ExecuteQuery命令运行速度非常慢

时间:2013-09-05 12:42:50

标签: sqlite x86 64-bit executequery

我遇到了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并加载SQLite的x64版本    在这种情况下,ExecuteQuery执行selectCommand并在1秒内返回结果(37行)。

#2 我使用Platform target:x86构建exe并加载SQLite的x86版本    在这种情况下,ExecuteQuery执行selectCommand并在55秒内返回结果(37行)。

这很奇怪,因为代码完全相同,唯一改变的是sqlite dll,以便在两种类型的处理器中运行。

有任何想法如何解决此问题?

PS。当我在数据库上运行相同的命令时,手动返回数据1秒钟。

1 个答案:

答案 0 :(得分:-1)

x64版本在执行查询时使用比x86版本更大的虚拟空间。因此,x86平台的执行时间大于x64,并且最小化它的唯一方法是将索引添加到查询的表中。