2

我遇到了 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 秒内返回数据。

4

1 回答 1

-1

x64 版本在执行查询时使用比 x86 版本更大的虚拟空间。因此,x86 平台的执行时间比 x64 大,唯一能减少它的方法是向查询表添加索引。

于 2013-09-05T14:27:33.660 回答