我在我的应用程序中使用SQLite(WP 7.1和Community.CsharpSqlite.SqlLiteClient.WP7.dll程序集)。
当我使用内连接时,SQLite DataReader对象非常慢(大约需要3到5秒来填充包含1000条记录的列表)。
我正在考虑删除SQLite数据库并开始使用“sdf”数据库。
有谁知道为什么SQLite DataReader对象在WP中这么慢?
这是我的示例代码(table1是一个包含5000条记录和5列的表.table2有来自table1的chield记录)
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())
{
// ...
}
}
}
}
答案 0 :(得分:0)
WP7的SQlite实现是完全托管代码的事实可能至少部分原因。