ObjectBox可分配ID的性能损失

时间:2018-01-03 06:13:47

标签: android database-performance objectbox

ObjectBox文档建议对元素使用可自动赋值的<?php $i=0; foreach ($type_data as $type) { ?> <li class="<?php echo ($i == 0 ? 'active' : ''); ?>"> <a href="#<?php echo $type->id; ?>"> <?php echo $type->type; ?> </a> </li> <?php $i++; } ?> <div class="tab-content"> <?php $j=0; foreach ($type_data as $type) { ?> <div id="<?php echo $type->id; ?>" class="<?php echo ($j==0 ? 'active' : '') ?>"> <h2><?php echo $type->name; ?></h2> </div> <?php } ?> </div> ids,它甚至会根据它进行一些检查:

  

默认情况下,对象ID由ObjectBox分配。对于每个新对象,ObjectBox将分配一个未使用的ID,该ID高于框中使用的当前最高ID值。例如,如果框中有两个ID为1且ID为100的对象,则放置的下一个对象将被分配ID 101。

http://objectbox.io/documentation/introduction/#Object_ID_assignment

如果我们有自定义密钥,我们可以添加long,它会使用给定字段作为ID。

但是,我在某处读到它会增加一些性能开销,并且最好尽可能使用标准的自动递增的。我现在无法找到源代码,所以有人知道是否可以为经常更改的对象使用可分配的ID?另外,ObjectBox会以某种方式使用@Id(assignable = true)equals()吗?

为我们使用可分配ID的主要原因是能够hashCode()元素使用其自然put ID而无需手动解析映射。

1 个答案:

答案 0 :(得分:0)

正如我根据Marcus Junginger(ObjectBox的CTO)的官方文档和评论所理解的那样,当您使用可分配的ID时,没有性能损失。

相关问题