从领域数据库查询大数据时,反应本地应用程序冻结。
让列表= realm.objects('Messages'); list = list.filtered('dialogue_id = $ 0 SORT(unixtime ASC)',dialog_id); 我用 list = list.slice(0,50);
Realmjs版本3.0.0-beta.1
响应时间为3秒。
答案 0 :(得分:0)
这里的问题是调用list.slice(0, 50)
,将数据从Realm提取到JS对象中非常慢。您最好将它们保留在Realm集合中,并直接从Realm.Object读取并使用Realm写入更新值。您应按照list = list.filtered('dialogue_id = $0 SORT(unixtime ASC) LIMIT(50)', dialogue_id);
所示限制查询结果,并直接使用Realm集合,而无需从结果中实例化JS对象。