核心数据:在后台将一批记录写入磁盘

Posted

技术标签:

【中文标题】核心数据:在后台将一批记录写入磁盘【英文标题】:Core Data: Writing Batch of Records to Disk In Background 【发布时间】:2013-06-26 23:36:51 【问题描述】:

我有一个包含核心数据数据库的主应用程序。我在主上下文中执行应用程序的所有活动,但我创建了一个子上下文来处理可能向数据库添加多达 30,000 条记录的后台同步。一切正常,后台同步不会减慢主应用程序的速度,直到它实际保存上下文,然后应用程序在 Core Data 将记录写入磁盘时无响应几秒钟。

有什么办法可以解决这个问题,以便大磁盘保存不会影响 UI?

【问题讨论】:

【参考方案1】:

您可以通读this link,了解更多关于在后台保存核心数据记录的信息。本质上,您的主要上下文是进行实际写作的背景上下文的子上下文。这样,您的主线程就不会被阻塞以将内容写入磁盘。但是,当从后台上下文合并/导入更改时,它可能会被暂时阻止。

【讨论】:

哇,好主意!我试试看。

以上是关于核心数据:在后台将一批记录写入磁盘的主要内容,如果未能解决你的问题,请参考以下文章

加快将大量 JSON 数据写入磁盘的速度

RFID射频卡超市购物结算系统问题记录--写入卡片时,后台php无法操作数据库

LevelDB的源码阅读 Compaction操作

用Access作为后台数据库支撑,书写一个用C#写入记录的案例

如何使用 ruby​​ 将单个记录写入 Redshift 数据库?

针对磁盘查找的核心数据提取性能