gpt4 book ai didi

swift - Realm 在一对一关系中过滤/排序的效率如何?

转载 作者:行者123 更新时间:2023-11-30 12:42:38 26 4
gpt4 key购买 nike

假设我想找到最近收养了一只特定狗的人(人为的例子)。现在我正在做这样的事情:

let realm = try! Realm()
let predicate = NSPredicate(format: "dog.dogId = %@", dogId)
return realm.objects(Person.self).filter(predicate).sorted(byKeyPath: "dog.adoptionDate", ascending: false).first

我的问题是这有多有效?它是否类似于在典型的关系数据库中执行JOIN?如果我想让事情变得更快,在 person 对象上存储dogId 和adaptiveDate 是个好主意吗?还是没有必要?

最佳答案

通过链接进行排序会产生一些开销,但除非您的对象碰巧已经按排序顺序排列,否则这种开销不太可能很大,因为这样排序本身所花费的时间可以忽略不计。

Realm 链接通常比关系连接表现得更好(直接存储目标的行号,而不必执行索引查找(如果没有对相关列建立索引,则执行表扫描))灵 active 较差的成本。

关于swift - Realm 在一对一关系中过滤/排序的效率如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058636/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com