gpt4 book ai didi

c++ - 带数据库的桌面应用程序 - 如何处理数据检索?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:13:09 26 4
gpt4 key购买 nike

假设有一个桌面应用程序 - 可以最好地描述为用户插入/查看记录的记录保存 - 它依赖于将包含大型 对象的层次结构和属性。数据检索应该如何处理?

所有数据是否应该在启动时加载并存储在相应的类/结构中供以后操作,或者数据是否应该只在需要时检索,存储在模型 Classes/Structures 然后在以后重用而不是再次请求 DB?

据我所知,前一种方法需要使用更大的内存部分并可能在启动时等待时间(如果显示启动画面还不错),而后者可能会使用户在启动时遇到延迟由于数据检索而进行的处理,并且需要对数据库执行一些昂贵的查询,其结果和/或支持数据结构很可能在使用后毫无用处*。

有些事情告诉我,解决方案取决于深入分析,这将根据最常用的数据混合使用上面列出的两种方法,但我非常有兴趣阅读您的想法、技巧和现实生活经验关于这个话题。

为了便于讨论,我正在考虑 C++ 和 SQLite。

谢谢!

*假设您可以更快地对类/对象执行操作,而不必对数据库执行复杂的查询。

编辑

一些额外的细节:

  • 没有对数据的并发访问,这意味着只有 1 个用户处理本地存储的数据。
  • 数据根据人为所做的更改发回 - 即低频率。对于从数据库中读取数据而言,这不一定是正确的,我希望在这种情况下很少有大量读取的峰值,我希望速度更快。
  • 我最担心的是用户在显示复杂记录时会感到缓慢(因为这必须从数据库中读入)。

最佳答案

使用Lazy LoadData Mapper (pg.165) 模式。

关于c++ - 带数据库的桌面应用程序 - 如何处理数据检索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5477272/

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