【发布时间】:2011-10-18 13:13:47
【问题描述】:
我正在创建一个适用于 Core Data 的框架。在您的 Core Data 类上使用我的框架的要求之一是,您希望拥有框架功能的任何实体都需要是我提供给您的实体的子实体和子类。为此,我将该对象称为 Foo。
今天我意识到 Core Data 将所有作为 Foo 子实体的对象存储到一个名为 ZFOO 的表中。如果拥有大量数据集的人想要使用 Core Data,我会担心它的性能,因为 foo 类的所有子实体都将存储在一个巨大的 ZFOO 表中。
任何意见或建议都将受到高度赞赏。
【问题讨论】:
-
是的,如果您有大型数据集,CoreData 中的子类通常很糟糕,因为您最终可能会得到非常解析的表。但是,我的建议是先进行测试... 编写一个简单的应用程序,创建数千个您的类 Foo 的许多不同子类的对象,并查看系统的行为方式。如果它不明显,那么也许你没事。在对速度做出假设之前始终进行测试。
-
感谢您的建议。我更多的是在寻找这种非常错误的恐怖故事。我读得越多,Apple 似乎就越鼓励 Core Data 中的这种继承。
-
我可以确认它在 Xcode 5 DP5 中仍然这样做。
-
我确认 Core Data 在 Xcode 7 iOS 9.2 中仍然可以做到,简直不敢相信。
标签: sql objective-c database sqlite core-data