【发布时间】:2011-08-31 22:49:12
【问题描述】:
我的应用有问题。
假设我有 6 个用户,每个用户最多可以有 9 个得分条目(即晚上 8:00 得分 1000 分,收集金 3,银 4 等),例如每个阶段的分数和 9 个阶段。
所有这些分数都是从 API 调用中获取的,因此它可以以 3 分钟以上的间隔更新。
- 我需要对此数据执行的操作是
- 从第 4 阶段查找最近的最小、最大记录。
- 以及更多操作,例如加减两个分数等
这6个用户,他们的分数记录已经在数据库中,API调用后需要更新。
现在我的问题是:
对于此类数据(此处的分数数据)将所有 6 个用户的所有数据保存在 NSArray 或 NSDictionary 中的内存中,并通过 min-max 算法找到该数组中的最小值和最大值,这是一种更好的方法吗.
或
应该通过“WHERE score=200”之类的查询从数据库中获取,简而言之,2 个数据库查询分别返回最接近的最小和最大记录,而不是保留所有数据在内存中。
我们关注的是速度和内存使用。关键是,数据库调用是否可以快速有效地找到最小值和最大值,或者在数据库中所有记录的数组中搜索最小值、最大值。 所有记录可以是 6 个用户 * 每个 9 分 = 54。 记录的更新时间可以是 3 分钟以上。 找到某些值的最小值最大值的频率很高。
如果需要更多详细信息,请询问。 提前致谢。
【问题讨论】:
标签: iphone sqlite memory performance