问题
Realm React Native如何通过父子嵌套关系中的双向链接执行?
示例
我有一个Invoice对象,它由InvoiceLines组成。在旧数据库中,InvoiceLine表中的每一行都有对其父Invoice ID的引用。所以一个简单的'WHERE ID =“查询从InvoiceLine到Invoice或Invoice到它的所有InvoiceLines。
在Realm中,我将采用以下架构(释义):
class Invoice {};
Invoice.schema = {
name: 'Invoice',
properties: {
...
lines: {type: 'list', objectType: 'InvoiceLine'}
}
}
class InvoiceLine {};
InvoiceLine.schema = {
name: 'InvoiceLine',
properties: {
...
invoice: 'Invoice',
}
}
这种直接链接的性能如何与使用ID进行比较并在Realm中以传统方式进行?存储所有这些链接是否存在内存权衡?
答案 0 :(得分:1)
在大多数情况下,使用链接的性能几乎与使用ID相同或更好。以下链接比通过ID查找要快得多。您将获得的唯一性能是删除对象时。删除父类的实例时,指向已删除父项的所有子链接都将设置为null
。无论如何,这可能是你想要做的事情。删除子对象时,有时需要更新一些内部簿记,但这通常足够快,难以察觉。