2

从领域数据库查询大数据时,React 本机应用程序冻结。

let list = realm.objects('Messages');
list = list.filtered('dialogue_id = $0 SORT(unixtime ASC)', dialogue_id);
I use
list = list.slice(0, 50);

Realmjs 版本 3.0.0-beta.1

响应时间为 3 秒。

4

1 回答 1

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 对象。

于 2019-12-23T15:55:27.043 回答