我遇到了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秒钟。
答案 0 :(得分:-1)
x64版本在执行查询时使用比x86版本更大的虚拟空间。因此,x86平台的执行时间大于x64,并且最小化它的唯一方法是将索引添加到查询的表中。