繁体   English   中英

在Core Data中的数千个对象之间建立关系的最有效方法是什么?

[英]What is the most efficient way to setup relationships between thousands of objects in Core Data?

假设我插入了10.000个Book实体和10.000个Author实体,并需要在它们之间建立一对一的关系。 这两个实体都有一个称为bookID的属性。 我这样做:

  1. 提取所有图书,按bookID排序
  2. 提取所有作者,按bookID排序
  3. 枚举books数组,如果currentBook.bookID == currentAuthor.bookID,则currentBook.author = currentAuthor。 对所有书籍重复此步骤。 在刚建立关系的每1000本书中,保存上下文(否则将消耗更多的内存)。

我的问题是内存分配过高。 我如何限制呢? 我尝试了[fetchRequest setBatchSize:],setFetchLimit:和setFetchOffset:的结合,但是没有运气。

我认为您没有正确地概念化数据模型。 属性“ bookID”实际上不应该在作者实体中。 同时以两种方式建立一对一的关系似乎很奇怪。 您更可能希望作者与书籍之间存在一对多的关系(一个作者可以写多本书),甚至可能存在相反方向的一对多关系(一本书可以有多个作者,尽管这取决于您)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM