0

我有 2 个表(和类似的实体):

  1. 类别(具有字符串属性标识符)

  2. CategoryLink(具有属性 category1 和 category2 是指向 Category 对象的指针)

我有一个文本文件,其中包含有关类别及其链接的信息。有关链接的信息表示为第一和第二链接 id 对。

我想使用 Core Data 填充我的数据库。我以足够快的速度填充类别,但我在使用 CategoryLink 时遇到了问题。

我最好的实现是:

  1. 获取按标识符排序的所有类别;

  2. 获取从文件到字典数组的整个链接信息,按第一项 id 排序;

  3. (1)中每个类别的一个循环

  4. 在循环 (3) 中,我在迭代中使用 (2) 中的 ID 搜索第二个类别,并创建 CategoryLink 实体的对象。

性能太慢,因为要插入很多类别和类别链接记录。那么有没有办法提高性能呢?

4

1 回答 1

0

假设您在内存中进行所有查找,最重要的性能因素是您保存上下文的频率。

不要在循环的每次迭代中保存。尝试分批保存。理想的数字取决于数据,但通常在 500-2000 左右。

对于初学者,试着只在最后保存,看看需要多长时间。

我会遍历您排序的字典列表,并始终保留对 catgory1 的引用。

于 2013-09-27T14:18:13.423 回答