是否可以将NSBinaryStoreType用于此数据模型?

时间:2011-12-22 07:11:23

标签: iphone objective-c ios database core-data

(第一实体)

  • NSString(平均20个字符)

(第二实体)

  • NSDate
  • NSDate
  • NSNumber(0或1表示布尔使用)
  • NSString(平均1000个字符)

这两个实体具有多对多关系(first_entity<< - >> second_entity)。


假设第一个实体平均有100个,第二个实体有1000个。 二元商店如何坚持这个?

如果我的数字上升,第一个实体有1000个,第二个实体有10000个怎么办?现在看起来怎么样?

任何意见的赞赏:)

1 个答案:

答案 0 :(得分:4)

当您打开二进制存储时,其所有内容都将加载到内存中。因此,您的应用程序需要在第一种情况下实例化大约10 000个对象,在第二种情况下需要实例化10万个(对象ID +缓存节点+缓存节点的字典+关系+属性)。如果您的应用程序被挂起几秒钟(或更长时间),我不会感到惊讶。

此外,存储10000个1000个unichar(2个字节)字符的字符串在内存中使用大约20MB(但是整个图形将更大),这对于iOS设备来说是很多。

我没有测试从我的设备上的二进制存储加载该数据模型的足迹,但我认为在这种情况下你真的不应该NSBinaryStoreType