【问题标题】:Core data performances: when all entities inherit from the same parent entity核心数据表现:当所有实体都继承自同一个父实体时
【发布时间】:2013-07-17 03:55:07
【问题描述】:

在我的 Core Data 数据库中,我的所有实体都继承自父实体。

出于这个原因,我刚刚意识到,在木头下,所有条目都添加到 1 个表(所有实体的表),而不是 SQLite 中的多个表(每个实体的表)。

我想知道这是否会严重影响性能,因为我的所有数据都插入到 1 个表中。

谢谢

【问题讨论】:

    标签: ios core-data


    【解决方案1】:

    它会影响性能,但多少取决于对象之间有多少共性以及您拥有多少个对象。如果几乎没有共性,并且您不需要托管对象子类的关联类继承,那么将所有内容都设为同一实体的子类并不是很有用。使用仪器检查发生了什么。性能问题可能是由其他因素引起的,例如您的提取请求结构和批处理大小。

    【讨论】:

    • 我的核心数据中的所有实体都有一个父实体,因为它们都共享 5 个字段。因此,理论上,在设计数据库时使用父实体是有意义的。但现在我明白这是一个多么可怕的决定,因为它似乎减慢了应用程序的速度。特别是当我执行从旧数据库到新数据库的轻量级迁移时,对于任何子实体的任何微小更改,都必须重新插入所有条目,因为核心数据将所有内容存储在一个唯一的表中,与父实体匹配,这需要修改。
    • 是的,这是一个代价高昂的方案。
    猜你喜欢
    • 1970-01-01
    • 2013-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多