gpt4 book ai didi

iphone - Core Data iPhone 我应该多久调用一次[managementObjectContext save :&error] when doing 50k record insert?

转载 作者:行者123 更新时间:2023-12-03 19:15:09 24 4
gpt4 key购买 nike

我会偶尔将 XML 导入到核心数据中。我将添加大约 50k 个实体。我的问题是我应该多久调用一次 [managementObjectContext save:&error]。对于添加的每个新实体,或者每个 x 实体,或者只是在 50k 导入结束时?

我目前正在为每个实体调用它,并尝试只为大约每 10k 执行一次,导入速度大幅提高,但在第一个 30k 之后,它会崩溃:

*** Terminating app due to uncaught exception 'NSGenericException', reason: '*** Collection <NSCFSet: 0x13e760> was mutated while being enumerated.'

在我花太多时间尝试诊断那里发生的情况之前,我想我应该检查一下是否可以不对每个实体调用 save ?

调用 save 之前的实体数量是否受到这些实体使用的内存量的限制?

最佳答案

不要保存每个实体,这样既浪费又低效。最佳位置取决于您的数据,但它绝对大于每个条目且小于 50K :)

我建议从每 1k 开始,并在您进一步开发应用程序时进行调整。

至于您看到的错误,它与保存数据几乎没有关系。在迭代可变数组时,您正在向可变数组删除或添加对象。由于显而易见的原因,这是不允许的。

关于iphone - Core Data iPhone 我应该多久调用一次[managementObjectContext save :&error] when doing 50k record insert?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com