Ios 领域数据库大小

Ios 领域数据库大小,ios,swift,realm,Ios,Swift,Realm,我有一个模型: class PhoneExtModel: Object { dynamic var number: Int64 = 0 // setup Adding 81 before string dynamic var label = "" dynamic var isBlocked = false dynamic var groupId = 0 其中“number”是主键 当我添加到realm base 7 000 000个条目时,基本文件的大小为800

我有一个模型:

class PhoneExtModel: Object {
    dynamic var number: Int64 = 0 // setup Adding 81 before string
    dynamic var label = ""
    dynamic var isBlocked = false
    dynamic var groupId = 0
其中“number”是主键


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

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

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

一旦这些旧版本的数据停止被引用,Realm就知道空间可以被回收,并将在将来重新使用。您还可以通过向文件中写入副本,然后用副本替换原始文件来手动压缩文件

您可以阅读更多关于为什么领域文件有时会变得比应该的更大的内容