核心数据迁移真的很慢,为啥会这样?
Posted
技术标签:
【中文标题】核心数据迁移真的很慢,为啥会这样?【英文标题】:Core Data Migration really Slow, Why does it happen at all?核心数据迁移真的很慢,为什么会这样? 【发布时间】:2009-06-24 15:14:24 【问题描述】:我正在开发一个桌面 Mac OS X 应用程序,它使用 Core Data 将其非常简单的数据保存到 SQLite 中,以及一个用于 iPhone 的配套移动应用程序,它只需要从桌面应用程序读取数据。虽然当我在移动应用程序上加载 SQLite 数据库时它们共享相同的托管对象模型,但数据需要几秒钟来迁移数据。我真的很想避免这种漫长的等待,因为它似乎与 SQLite 文件的大小呈线性相关。
为什么来自同一个托管对象模型的数据甚至需要迁移?
有人知道避免迁移的方法吗?
【问题讨论】:
你怎么知道它正在迁移?你有对话吗?除非您明确启用它,否则不会发生迁移(请参阅核心数据版本控制和迁移指南)。如果您的模型没有更改,则不需要迁移,因此可能正在发生其他事情。 好问题。我启用它是因为它不会加载商店。我相当肯定它正在迁移,因为我使用 Shark 分析了较长的加载时间。 【参考方案1】:我发现了导致此问题的原因。虽然这可能很明显,但我会联系起来,所以希望没有其他人会犯这个错误......
我的项目中有两个不同的托管对象模型。拥有多个数据似乎会迫使 Core Data 尝试迁移以找出哪些数据与哪个 MOM 匹配。
作为一种解决方案,我能够手动合并模型,以便可以使用相同的 MOM 表示两个数据源。
【讨论】:
以上是关于核心数据迁移真的很慢,为啥会这样?的主要内容,如果未能解决你的问题,请参考以下文章