为什么在Windows Phone 7上只读sqlce非常慢?

时间:2011-10-03 14:00:21

标签: windows-phone-7 sql-server-ce

我正在使用sdk 7.1在Windows Phone 7(wp7)上开发应用程序。我正在使用本机支持的sqlce数据库。数据库只存储1个表,其中包含5个“字符串”列。但是,有近90,000条记录。表被索引(使用Index属性指定)。始终从安装文件夹访问此参考数据库(而不是从iso存储库访问,因为它是只读的)。我根据MSDN上的建议使用linq来查询数据。我的linq查询非常简单。

var items = from e in myDataContext.MyItems where e.col1 == 'literal' select e;

在某些情况下,我必须实现分页,所以我会执行以下操作。

var items = (from e in myDataContext.MyItems where e.col1 == 'literal' select e).Skip(offset).Take(maxResults);

问题是性能很慢。我没有找到瓶颈的位置,但我怀疑它是用sqlce和/或linq。有人对我如何解决这个问题有任何建议吗?

1 个答案:

答案 0 :(得分:1)

我最近对此做了一些研究,这里有一些我认为有用的链接。

[WP7.1] Local Database (SQL Server CE) Performance

SQL CE in WP7 Mango - Datatype mapping from SQL Server 2008