首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >数据库检查更新

数据库检查更新
EN

Software Engineering用户
提问于 2018-01-22 13:36:22
回答 1查看 172关注 0票数 0

在为人调度事件的WPF应用程序中使用SQLite。应用程序将由2-4个用户同时使用.我想知道如何确保每个用户都拥有最新的数据库信息。

我想出的是:

  1. 启动一个单独的线程,负责检查数据库更新。
  2. 使用时间间隔设置(例如,30、1、2、5分钟等)若要选择数据,请执行以下操作。
  3. 提取所有数据,并为域创建一个新的内存集合。

一旦我做到了这一点,我就可以使用LastModifiedDataAndTime列这样的东西来跟踪数据库何时被修改了,所以我不会查询相同的数据。每隔30分钟、1分钟、5分钟等时间创建(重新创建)一个新的集合似乎效率极低。我是否使用单独的线程选择日程数据的正确方式?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2018-01-22 15:53:04

这在很大程度上取决于UI以及它将数据呈现给用户的方式。如果用户界面只显示当用户打开新窗口或更改视图时更新的数据的一些小部分,则只在更新操作的上下文中检查db更改就足够了,以检测试图同时更改同一记录的两个用户可能发生的冲突。

但是,如果数据像某种“新闻贴纸”一样显示在UI中,需要在后台的屏幕上不时更新,那么有一些单独的线程以定期的时间间隔查询数据库是一种明智的解决方案。

在数据库中存储一些时间戳,可以快速检查db中是否可能有某些更改(或根本没有更改),这是一种标准优化,但只有在修改频率通常低于更新检查计划的时间间隔时才能进行。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/364440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档