CoreData 性能重复实体与属性
Posted
技术标签:
【中文标题】CoreData 性能重复实体与属性【英文标题】:CoreData performance duplicate entities vs properties 【发布时间】:2014-07-24 00:16:57 【问题描述】:我正在制作一个 ios 应用,其中包含数千张带有问题的闪存卡。问题库有大约 10,000 个问题,分为 5 个类别。一个问题只能有一个类别。类别不会改变,它们是固定的。问题只是文字。不涉及图像。
我在考虑两种方法:
1) 为问题创建一个实体,其中包含一个类别字段 (int)。
获取结果以仅获取特定类别的问题。
2) 创建 5 个 Entities,所有字段都相同,但类别除外,其具有与类别对应的默认值。
为什么选择选项 2? 我认为选项 1) 是正确的选项,但是该应用程序有很多问题,我认为提交过滤特定字段的查询可能比检索完全不同的实体要慢。我从 SQL 的角度考虑,可能在一个表上执行 SELECT ,然后在另一个表上执行,应该比同一张表上的 SELECT...WHERE 更快?
【问题讨论】:
【参考方案1】:我同意你的观点,选项 1 是正确的选项。从另一个实体检索类别将增加最小的开销。此外,如果您必须编辑一个类别,您只需更改一个条目。您还可以更轻松地添加其他类别。
如果您真的关心性能(我认为您当时不应该),您可以同时编写代码并进行速度测试。但这确实是矫枉过正,差异可能微不足道。
【讨论】:
以上是关于CoreData 性能重复实体与属性的主要内容,如果未能解决你的问题,请参考以下文章