DBMS是否可以通过执行定义View的查询来优化对View的访问,只有当支持View的数据被修改而不是每次我查询View本身时?
修改 SQLite for Android怎么样?
答案 0 :(得分:0)
德拉米尔,
您的问题的答案在很大程度上取决于您对视图,数据库查询和底层结构的实现。本质上,核心问题是数据的性质以及需要被重新获取的频率。
在我发布的一些应用程序中,我只有在窗口获得焦点时才需要查询数据。在这些情况下,调用简单的手动刷新。这些通常是原子查询,这意味着它们是极少量的数据。使用这种方法,我将许多应用程序及其数据拼接在一起,形成一个紧密联系的即时查询。
在其他情况下,数据经常变化但可预测。在这些情况下,减少查询数量会适得其反,但绑定观察者也无效。
最后,有几种情况下数据会不规则地变化,变化的数量是不可预测的。在这些情况下,最佳解决方案是使用观察者。这将确保仅运行需要运行的查询。一旦适配器更新,视图就会更新。
关于你的问题,最后的情景(我认为)传达了你的要求。简而言之,答案是肯定的.... *但...... * 指的是前两种情况。要为自己决定最佳解决方案,您需要获得以下答案:
您在任何给定时间查询了多少数据?
该数据的更改频率如何?
在你的应用运行时它会改变吗?
获得这些问题的答案后,您可以相应地调整解决方案。没有更多信息,这是您可能会收到的指导范围。我还强烈建议,如果您不熟悉基本的数据库工程概念,那么您应该熟悉规范化,关系模型和索引的概念。对这些内容的深入了解可以极大地提高数据库,应用程序和相应视图的性能。
希望这有帮助,
FuzzicalLogic