领域文件的大小是如何发展的?

2024-04-15

领域文件的大小是如何发展的?

首先:我有一个包含多个属性的领域文件,其中一个是包含 860 个条目的数组,每个数组条目又包含几个属性。 一个数组属性声明条目的名称。

我观察到以下情况:

  • 如果名称属性为“Criteria_A1”(直到“Criteria_A860”) - 则领域文件大小为 1.6 MB
  • 如果名称属性为“A1”(直到“A860”) - 那么领域文件只有 786 kB 大

为什么数组名称属性中的额外字母使领域文件变得更大?

第二个观察:

  • 如果我添加更多对象(每个对象又都有一个包含 860 个条目的数组),那么文件大小会再次变大 1.6MB(无论我添加多少个对象;猜测直到再次达到临界值,大小会增加三倍……或者我是这样吗?错误的??)。

在我看来,一旦添加了某些内容(无论是具有更多字母的属性还是添加的对象),786 kB 的领域文件的大小就会增加一倍。为什么领域文件在临界值处会翻倍,并且不会随着添加的内容而线性增加?

感谢您对此的澄清。


观察得相当好。 :-) Realm 文件起始大小约为 4k,一旦用完可用空间,大小将增加一倍。它不断加倍,直到128M,然后不断增加128M。

文件加倍而不只是线性增长的原因只是出于性能考虑。对于动态数据结构来说,保持加倍是一种常见的算法。

您可以使用如下所示的可用方法来编写压缩副本,删除文件中的所有可用空间。如果您不再添加新数据、想要发送静态数据库或想要通过网络发送文件,这会很有用。

  • Realm.writeCopyToURL(_:encryptionKey:) https://realm.io/docs/swift/latest/api/Classes/Realm.html#/s:FC10RealmSwift5Realm14writeCopyToURLFzTCSo5NSURL13encryptionKeyGSqCSo6NSData__T_在斯威夫特
  • -[RLMRealm writeCopyToURL:encryptionKey:error:] https://realm.io/docs/objc/latest/api/Classes/RLMRealm.html#/c:objc(cs)RLMRealm(im)writeCopyToURL:encryptionKey:error:在 Objective-C 中
  • Realm.writeCopyTo() https://realm.io/docs/java/latest/api/io/realm/Realm.html#writeCopyTo-java.io.File- in Java

提到的这些阈值和算法是当前的,但在未来版本中可能会发生变化。

希望这能澄清?

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

领域文件的大小是如何发展的? 的相关文章

随机推荐

  • 在 onResume/onPause 中重新启动/暂停线程

    我有一个使用 SurfaceView 实现来显示对象的游戏 我有一个线程 它会不时地将 SurfaceView 绘制到屏幕上 游戏正在完全运行 不幸的是 它需要在游戏中断时具有暂停功能 好吧 我知道我需要操纵onResume and onP
  • 从“git diff”中排除单个提交

    大家早 假设我有一系列提交 如下所示 abc000 def111 abc222 def333 abc444 def555 我知道我可以使用 git diff c binary abc000 def555 gt tmp abc000 def5
  • 自动崩溃时重新启动 Docker 容器

    如果容器自动崩溃 我想重新启动它 我不知道该怎么做 我有一个脚本 docker compose deps yml 其中包含 elasticsearch redis nats 和 mongo 我在终端中运行它来进行设置 docker comp
  • 获取Web服务的内容

    我有一个像这样的网址here http www myserver com myservice php param foobar 当我在 Safari 的地址栏中输入该内容时 我会看到类似 错误 或 正常 的结果 那么 如何从代码中正确调用该
  • 有没有一种方法可以从一个方法返回多个整数? [复制]

    这个问题在这里已经有答案了 我有一个这样的方法 private double GetHeight return 2 但我希望能够返回两个不同的数字 例如 2 和 3 有什么方法可以在 C 中做到这一点吗 Yes ValueTuple htt
  • Lua 和序列化闭包

    我正在尝试序列化和反序列化 Lua 闭包 我的基本理解是下面的工厂应该生成闭包 并且Lua在函数和闭包之间没有太多区别 即没有类型 闭包 gt function ffactory x return function return x end
  • 如何为 Mac OSX 安装 Java 7 EE SDK 下载为 .sh 文件

    我是在 Mac OSX 上开发 Java 的新手 我想下载 Java 7 EE SDK 这样我就可以使用 Java 进行桌面 移动 企业开发 下载文件是 sh 具体来说java ee sdk 7 jdk7 macosx x64 我不熟悉 J
  • 无法使用 UWP 应用程序访问我的系统上的 Word 文档

    我正在尝试使用 UWP 应用程序 通用 Windows 编辑现有的 Word 文档 但由于某种原因 我收到 文件不存在 错误 我尝试使用下面的代码来访问word文档 using WordprocessingDocument wordDoc
  • 删除列表元素而不发生突变

    假设你有一个清单 gt gt gt m a b c 我想列一个新清单n包含除给定项目之外的所有内容m 例如该项目 a 但是 当我使用 gt gt gt m remove a gt gt gt m m b c 原始列表已发生变化 值 a 从原
  • Azure 应用程序网关中的 SSL 证书错误

    我们按照指南设置 SSL 应用程序网关 https learn microsoft com en us azure application gateway application gateway ssl portal https learn
  • 生产中的CEF3单进程模式

    在生产中使用单一流程模式是否存在任何真正的陷阱 官方声明似乎不鼓励这种做法 但到 目前为止该应用程序一直稳定 CEF1似乎已经被放弃了 如果使用CEF3单进程进行开发 那么后者至少应该成为测试套件的一部分 因此是稳定的 或者事实并非如此 另
  • Google Api:: 错误:invalid_scope

    我使用 google api OAuth2 登录 gmail 帐户 当 gmail 登录时 我进行身份验证 然后收到错误 错误 invalid scope 此应用尚未经过验证可以访问 无效 https www googleapis com
  • 如何在 vscode API 中替换后删除选择

    在为 vscode 创建扩展时 我陷入了选择困境 现在的问题是 当我通过 api 替换某些范围的 textEditor 时 它会替换该范围并选择该范围 对于片段来说这是一个好主意 但我的扩展要求不是选择替换的文本 我在 api 中搜索但没有
  • 如何使用swift、spritekit和xcode调用admob插页式广告?

    我一直在寻找这个问题的答案 我在 Objective C 中找到了很多例子 谷歌开发者文档等 并在 swift 中找到了一些答案 但没有使用 spritekit 并且作为一个新手 我只是还没有无法弥补这些教程中的差距 将它们整合到我的项目中
  • 如何向正在运行的气流服务添加新的 dag?

    我有一个气流服务 当前作为网络服务器和调度程序的单独 Docker 容器运行 两者都由 postgres 数据库支持 我在两个实例之间同步了 dags 并且在服务启动时正确加载了 dags 但是 如果我在服务运行时将新的 dag 添加到 d
  • 无法让测试单元启动在 ruby​​ 1.9.2 中工作

    我正在使用 Ruby 1 9 2 ruby v 生成 ruby 1 9 2p290 2011 07 09 修订版 32553 x86 64 linux 我正在尝试让它工作 require test unit class TestStartu
  • 如何“合并”、“展平”或“透视”将多行返回到单个结果的查询结果?

    我对表进行了一个简单的查询 它返回如下结果 id id type id ref 2702 5 31 2702 16 14 2702 17 3 2702 40 1 2703 23 4 2703 23 5 2703 34 6 2704 1 14
  • 使用vba从雅虎财经抓取数据

    我需要从雅虎财经页面读取股票的收盘价 我在使用谷歌财经页面之前就已经回答了这个问题 但该页面不再可用 我相信谷歌已经完全改变了它的财经页面 我相信我可以在雅虎财经上应用同样的方法 只需稍作修改 假设雅虎财经对股票代码 AAPL 苹果 有以下
  • 如何使用不同用户表的多重身份验证注销 JWT 令牌

    这是 config auth php 中的代码 guards gt web gt driver gt session provider gt users api gt driver gt jwt provider gt users hash
  • 领域文件的大小是如何发展的?

    领域文件的大小是如何发展的 首先 我有一个包含多个属性的领域文件 其中一个是包含 860 个条目的数组 每个数组条目又包含几个属性 一个数组属性声明条目的名称 我观察到以下情况 如果名称属性为 Criteria A1 直到 Criteria