(第一实体)
NSString
(平均20个字符)(第二实体)
NSDate
NSDate
NSNumber
(0或1表示布尔使用)NSString
(平均1000个字符)这两个实体具有多对多关系(first_entity<< - >> second_entity)。
假设第一个实体平均有100个,第二个实体有1000个。 二元商店如何坚持这个?
如果我的数字上升,第一个实体有1000个,第二个实体有10000个怎么办?现在看起来怎么样?
任何意见的赞赏:)
答案 0 :(得分:4)
当您打开二进制存储时,其所有内容都将加载到内存中。因此,您的应用程序需要在第一种情况下实例化大约10 000个对象,在第二种情况下需要实例化10万个(对象ID +缓存节点+缓存节点的字典+关系+属性)。如果您的应用程序被挂起几秒钟(或更长时间),我不会感到惊讶。
此外,存储10000个1000个unichar(2个字节)字符的字符串在内存中使用大约20MB(但是整个图形将更大),这对于iOS设备来说是很多。
我没有测试从我的设备上的二进制存储加载该数据模型的足迹,但我认为在这种情况下你真的不应该NSBinaryStoreType
。