gpt4 book ai didi

windows-phone-7 - Windows Phone 中的 SQLCE 性能非常差

转载 作者:行者123 更新时间:2023-12-01 02:31:49 24 4
gpt4 key购买 nike

我写这个帖子是因为我已经与这个问题斗争了整整三天!

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

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

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

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

最佳答案

Windows Phone 上的 SQL CE 不是最快的,但您可以对其进行优化:

本文涵盖了您可以做的许多事情:WP7 Local DB Best Practices

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

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

关于windows-phone-7 - Windows Phone 中的 SQLCE 性能非常差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12740318/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com