代码之家  ›  专栏  ›  技术社区  ›  Felix Lamouroux

保存ManagedObjectContext的性能是否取决于所包含(未更改)对象的数量?

  •  1
  • Felix Lamouroux  · 技术社区  · 16 年前

    NSManagedObjectContext 使用SQLite存储:

    • 添加/更改/删除后 对象 他俩 包含 否则不变 NSManagedObjects
    • 添加/更改/删除后 对象 他俩 包含 10'000 否则不变 NSManagedObjects
    3 回复  |  直到 16 年前
        1
  •  2
  •   TechZen    16 年前

    使用和SQL store,添加一个对象的成本在很大程度上是固定的,无论图中有多少其他对象。索引确实会导致缩放效果,因为索引依赖于其他现有对象。然而,在绝大多数情况下,这并不重要。

    图形中的关系越复杂,受图形总大小影响的保存就越多。显然,如果图形只有十个对象,那么任何关系中的对象都不能超过十个。如果你有一个10000,那么关系可能会更大,需要更长的时间来处理。

    总之,具有SQL存储的核心数据似乎在很大程度上不受图形大小的影响。

        2
  •  1
  •   Martin Cote    16 年前

    分析将告诉您是否存在显著差异。然而,我怀疑商店协调员的类型会影响性能。在SQLite数据库中更新对象可能比在XML树中更新对象更快、更具可伸缩性。

        3
  •  0
  •   Massimo Cafaro    16 年前

    在我以前的经验中,没有显著差异。如果要添加/更改/删除的对象包含许多索引属性,那么与没有索引属性的对象相比,需要的时间会稍微多一点,但这是意料之中的,因为索引也会被修改。