0

我在我的应用程序中使用 SQLite(WP 7.1 和 Community.CsharpSqlite.SqlLiteClient.WP7.dll 程序集)。

当我使用内部联接时,SQLite DataReader 对象非常慢(大约需要 3 到 5 秒来填充 1000 条记录的列表)。

我正在考虑删除 SQLite 数据库并开始使用“sdf”数据库。

有谁知道为什么 SQLite DataReader 对象在 WP 中这么慢?

这是我的示例代码(table1 是一个有 5000 条记录和 5 列的表。table2 有来自 table1 的记录)

using (SqliteConnection conn = new SqliteConnection(PhoneUtil.ConnectionString))
{
   conn.Open();
   using (SqliteCommand cmd = conn.CreateCommand())
   {
      cmd.CommandText = "select t1.* from table1 as t1 inner join table2 as t2 on t1.id = t2.id where t1.year=2013";

      // the line below is very slow.
      using (SqliteDataReader reader = cmd.ExecuteReader())
      {
         // Here is fast
         while (reader.Read())
         {
            // ...
         }
      }
    }
}
4

1 回答 1

0

The fact that the SQlite implementation for WP7 is completely managed code is probably at least partially the reason.

于 2013-10-09T16:05:37.547 回答