我的老板和我正试图找出从核心数据中处理数据的最佳方式,我们正试图找出两种不同处理方式的优缺点。我们正在研究不同方法的效率。
1)我们将数据模型中的每个表存储到一个 NSArray 或 NSSet 中,并且仅在一行被修改或添加了一行时才发出获取请求。然后我们通过使用谓词过滤它们来操作 NSArray 和 NSSets 到我们需要的东西。
2)我们一开始就设置了获取请求,只用复合谓词抓取我们需要的数据,然后从那里开始。
我们测试了两者之间的时间。选项 1) 0.000259 秒 选项 2) 0.000528 秒
我们也有一些我们正在考虑的事情。选项 1 似乎更快,但仅仅是因为我们只处理了大约几百行数据,并且如果数组变得很大,比如我们开始达到一百万行,我们会遇到内存问题。
我们认为选项 2 应该是更快的选项,但还是因为没有足够的数据而变得更慢?如果有一百万行,它会遇到内存问题吗?
如果您能解释为什么一个会比另一个更有效率,那将不胜感激。