【发布时间】:2021-05-23 10:29:01
【问题描述】:
我有一个非常简单的查询,在我的 android 上运行时非常慢(5 秒或更长时间)。
QuerySnapshot snapshot = await userTeamPointsCollection
.where('user_ref', isEqualTo: userIdRef)
.where('season_id', isEqualTo: season)
.where('match_day', isEqualTo: matchday)
.get();
该集合包含 10 个文档,所以我不知道为什么查询可能很慢。 我已经创建了一个复合索引,没有太大的改进。
您对我应该尝试什么或为什么这么慢有什么建议吗? (互联网不是问题...)
最好的问候,
【问题讨论】:
-
如果关闭离线持久性会发生什么?
FirebaseFirestore.instance.settings = Settings(persistenceEnabled: false);离线持久化复杂查询可能会很慢,因为它们没有利用存储在后端的索引。 -
嗨!这似乎解决了这个问题。但是,我不想完全放弃离线持久性 => 是否可以仅针对 一些 查询将其关闭?
-
不,Firestore DB 是全局的。
-
好的,谢谢。太糟糕了。
标签: firebase flutter dart google-cloud-firestore