一个核心数据实体属性中通常应该存储多大的字符串?

How large of a String should generally be stored in one core data entity attribute?

一个String一般应该存储在一个core dataentityattribute中有多大?

什么时候应该将 String 分解为多个 attributes 甚至多个 entities 关系?


我不知道 space-dense Strings 有多密集。想象一下,想要将 100 页的文本保存到 1 attribute: String

除了特定 attributesQuerying Core Data 困难之外,这会导致任何问题吗?

基本上,有多大的 String 会太大而无法存储为属性?

使用一个属性还是多个属性只取决于数据在逻辑上是单值还是多值。也就是说,它完全取决于数据的结构,而不是它的大小。

但是,对于过大的值,通常将数据保存在单独的文件中并在 Core Data 中只保留文件名更有意义。当你需要完整的值时,从 Core Data 中获取文件名并加载文件内容。

这种方法的优点是您可以避免在不需要时将整个值读入内存——例如,当您只关心其他字段(例如"title" 字段之类的)。将数据拆分为多个属性并不能解决这个问题,而且会产生额外的、不必要的复杂性。