我在我的应用程序中使用 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())
{
// ...
}
}
}
}