我有2个表(和类似的实体):
类别(具有字符串属性标识符)
CategoryLink(属性category1和category2是指向Category对象的指针)
我有一个文本文件,其中包含有关类别及其链接的信息。有关链接的信息表示为第一个和第二个链接ID对。
我想使用Core Data填充我的数据库。我填写类别足够快,但我在使用CategoryLink时遇到了麻烦。
我最好的实现是:
获取按标识符排序的所有类别;
从文件中获取整个链接信息到字典数组,按第一个项目ID排序;
来自(1)
我在迭代中使用(2)中的ID搜索第二个类别,并创建CategoryLink实体的对象。
性能太慢,因为应该插入很多类别和CategoryLinks记录。那么有什么方法可以改善性能吗?
答案 0 :(得分:0)
假设您正在内存中进行所有查找,最重要的性能因素是您保存上下文的频率。
不要在循环的每次迭代中保存。尝试分批保存。理想的数量取决于数据,但通常约为500-2000。
对于初学者,请尝试仅在结尾处保存并查看需要多长时间。
我会遍历你排序的词典列表并始终保持对catgory1的引用。