【问题标题】:Realm Database size领域数据库大小
【发布时间】:2017-03-01 05:41:26
【问题描述】:

我有一个模型:

class PhoneExtModel: Object {
    dynamic var number: Int64 = 0 // setup Adding 81 before string
    dynamic var label = ""
    dynamic var isBlocked = false
    dynamic var groupId = 0

其中“数字”是主键。

当我添加到领域基础 7 000 000 个条目时,基础文件的大小为 800 - 900 mb,这正常吗?

【问题讨论】:

    标签: ios swift realm


    【解决方案1】:

    当您的应用程序运行时,Realm 可能需要存储您的数据的旧版本以及最新版本。例如,如果您在侧线程上有 Realm 实例,这些实例指向您的数据的旧版本并且未刷新,那么 Realm 需要同时存储这些旧版本和当前版本,并且文件大小会增加。

    根据您如何构建写入事务以添加这 700 万个条目,您的代码可能会同时保存多个版本的数据,这会迫使 Realm 文件变得更大。我们已经看到这种情况经常发生,特别是对于使用多个工作线程同时写入数据库的用户。您可能希望确保您的代码不会同时打开多个版本的 Realm,并且一旦 Realm 实例不再有用,它就会被及时销毁。 (您可能需要将其包装在自动释放池中才能发生这种情况。)

    一旦那些旧版本的数据不再被引用,Realm 就知道该空间可以回收并在未来重复使用。您也可以手动压缩文件,方法是向文件写入副本,然后用副本替换原始文件。

    您可以阅读更多关于为什么 Realm 文件有时会变得比应有的更大in our documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多