使用Realm

时间:2015-10-05 23:47:49

标签: macos swift realm

我正在将Mac OS X上的Core Data应用转换为使用Realm。该应用程序的一个功能是维护一个文件库,在我的核心数据代码中,我会花一些时间来确保有效地执行数据导入。我使用的技术使用镜像Apple's advice(似乎已经消失),但基本上是这样的模式:

  1. 获取要导入的文件列表
  2. 执行批量查询(IN谓词)以确定哪些文件已导入。
  3. 导入其他人
  4. 这在核心数据方面比检查单个项目更有效,因为它可以一次访问数据库而不是每个项目一次。

    Realm应采用哪些技术来确保数据的有效导入?

1 个答案:

答案 0 :(得分:1)

我会提出以下一般性建议:

  • 组创建对大批量写入事务的操作。 (你似乎已经这样做了。)
  • 为您的网址添加索引/主键。

您可以查询每个项目并根据需要创建它,几乎与选择具有大IN谓词的相关项目一样快。由于Realm的查询引擎基于对象DSL,因此没有真正的开销来实现数据库的访问"。 IN谓词实际上只不过是多个索引检索的分离。因此,您实际上只需构建多个小查询,而不是通过大型NSPredicate构建大型查询。