加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows-phone-7 – Windows手机中的SQLCE性能非常差

发布时间:2020-12-14 05:25:40 所属栏目:Windows 来源:网络整理
导读:我已经写了这个帖子,因为我已经整整三天打了这个问题了! 基本上,我有一个程序收集一个大的CSV文件,并将其用作本地SQLCE数据库的输入. 对于这个CSV文件中的每一行(代表某种对象,我们称之为“狗”),我需要知道这条狗是否已经存在于数据库中. 如果它已存在,请
我已经写了这个帖子,因为我已经整整三天打了这个问题了!

基本上,我有一个程序收集一个大的CSV文件,并将其用作本地SQLCE数据库的输入.
对于这个CSV文件中的每一行(代表某种对象,我们称之为“狗”),我需要知道这条狗是否已经存在于数据库中.
如果它已存在,请不要将其添加到数据库中.
如果它不存在,请在数据库中添加新行.

问题是,每个查询大约需要60毫秒(在数据库为空时开始时),当数据库大约1000行时,它会上升到大约80毫秒.
当我必须通过1000行(在我看来并不多)时,这需要大约70000毫秒= 1分10秒(只是为了检查数据库是否是最新的),太慢了!考虑到这个数量可能有一天会超过10000行,我不能指望我的用户在他的数据库同步之前等待超过10分钟.
我尝试使用编译的查询,但这并没有提高性能.

我搜索的字段是一个字符串(它是主键),并且它被索引.

如果有必要,我可以用代码更新这个帖子,这样你就可以看到我做了什么.

解决方法

Windows Phone上的SQL CE不是最快的生物,但您可以优化它:

本文介绍了您可以执行的一些操作:WP7 Local DB Best Practices

他们提供了一个可以下载的WP7项目,以便您可以使用代码.

在本文的顶部,我建议将PK从字符串更改为int;字符串比int占用更多的空间,因此您的索引会更大,并且需要更多时间从隔离存储加载.当然在SQL Server中搜索字符串比搜索int / long更慢.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读