CoreData性能重复实体与属性

时间:2014-07-24 00:16:58

标签: ios core-data

我正在制作一款带有数千张闪存卡的iOS应用程序。问题库有大约10,000个问题,分为5类。一个问题只能有一个类别。类别不会改变,它们是固定的。问题只是文字。没有涉及图像。

我在考虑两种方法:

1)为问题创建一个实体,其中包含一个类别字段(int)。

获取结果以仅获取特定类别的问题。

2)创建5个实体,所有实体都具有相同的字段,但类别除外,该类别具有与该类别对应的默认值。

为什么选项2? 我认为选项1)是干净的,但应用程序有很多问题,我认为提交过滤特定字段的查询可能比检索完全不同的实体要慢。我从SQL的角度思考,在一个表上执行SELECT然后在另一个表上执行SELECT,应该比同一个表上的SELECT ... WHERE更快?

1 个答案:

答案 0 :(得分:0)

我同意你的看法,选项1是干净的。从另一个实体检索类别将增加最小的开销。此外,如果您必须编辑类别,则只需要更改一个条目。您还可以更轻松地添加其他类别。

如果您真的关心性能(我认为您不应该这么做),您可以对两者进行编码并进行速度测试。但这实在是太过分了,差别可能是微不足道的。