【发布时间】:2018-01-03 06:13:46
【问题描述】:
ObjectBox 文档建议对元素使用可自动分配的long ids,它甚至有一些基于它的检查:
默认情况下,对象 ID 由 ObjectBox 分配。对于每个新对象,ObjectBox 将分配一个未使用的 ID,该 ID 高于框中使用的当前最高 ID 值。例如,如果一个盒子中有两个 ID 为 1 和 ID 为 100 的对象,则下一个放入的对象将被分配 ID 101。
http://objectbox.io/documentation/introduction/#Object_ID_assignment
如果我们有自定义键,我们可以添加@Id(assignable = true),它将使用给定字段作为id。
但是,我在某处读到它会增加一些性能开销,最好尽可能使用标准的自动递增的。我现在找不到源,所以有人知道是否可以为经常更改的对象使用可分配的 ID?另外,ObjectBox 是否以某种方式使用了equals() 和hashCode()?
为我们使用可分配 id 的主要原因是能够使用其自然的long id 来处理put 元素,而无需手动解析映射。
【问题讨论】:
-
您从哪里了解到性能开销?
-
我可能只是将它与其他信息混淆了。如果你说你不知道,我相信你:)
标签: android database-performance objectbox