Android:数据库中的冗余还是运行时计算?

Android:数据库中的冗余还是运行时计算?,android,android-sqlite,redundancy,Android,Android Sqlite,Redundancy,我注意到有一些相关的问题,但没有发现任何与Android相关的问题 我正在构建一个Android应用程序,在开发我的数据库模式时,我不确定是否应该在数据库中存储一些数据,并在每次相关更改后进行更新,或者将冗余保持在最低限度,并实时计算数据 对于Android应用程序,哪个选项更好 一个小例子:一个包含类别和项目的应用程序。如果项目是类别的一部分,则它们具有某些加起来的点。是否应根据所有分配的项目实时计算每个类别的总金额,或将其存储在类别表中,并随项目的每次插入/删除而更新?问题是值得吗?完全取决

我注意到有一些相关的问题,但没有发现任何与Android相关的问题

我正在构建一个Android应用程序,在开发我的数据库模式时,我不确定是否应该在数据库中存储一些数据,并在每次相关更改后进行更新,或者将冗余保持在最低限度,并实时计算数据

对于Android应用程序,哪个选项更好

一个小例子:一个包含类别和项目的应用程序。如果项目是类别的一部分,则它们具有某些加起来的点。是否应根据所有分配的项目实时计算每个类别的总金额,或将其存储在类别表中,并随项目的每次插入/删除而更新?

问题是值得吗?完全取决于数据库的使用情况

考虑以下几点来决定你应该做什么

如果计算时间很长,就值得保存下来供以后阅读

  • 你的阅读量是多少?多久一次
如果计算时间很短,那么计算量很小,你甚至不会注意到

  • 计算总数有多难?每次计算都很昂贵吗
在移动应用程序中,拥有大量数据是不常见的,因为显而易见的原因,一个数据库通常达不到数百万,而服务器中的数据是常见的


您可以提供更多详细信息,以便我们更好地为您提供指导。

这取决于您的表的大小,以及您更新表的频率与读取聚合的频率。每次插入/删除一个项目时都会进行更新。如果只插入或删除一个项目,我更愿意这样做。但在应用程序中,这只是假设情况,可能有来自多个源的多个更新引用同一对象。是的,这个问题太宽泛了,所以答案也会很宽泛。