首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >即使创建了一个索引,Firestore检索文档的速度也非常慢。

即使创建了一个索引,Firestore检索文档的速度也非常慢。
EN

Stack Overflow用户
提问于 2020-12-30 11:35:03
回答 1查看 456关注 0票数 0

我在生产中遇到了问题。我正在查询一个集合,它有大约200-300个文档。这是一个通过云函数进行的简单查询。我已经设置了一个计时器来记录每个查询的持续时间。

这个大约需要2-4秒。

代码语言:javascript
复制
   const missionQuery = await this._firestore
      .collection(this._collectionName)
      .where('active', '==', true)
      .where('archived_at', '==', null)
      .get();

这个花了2-3秒。

代码语言:javascript
复制
let missions = missionQuery.docs.map(doc =>
      plainToClass(Mission, doc.data())
    );

也许我可以使用plainToClass来做一些事情,但是我知道我无法使用Firestore查询。我为这两个字段创建了一个复合索引,但没有帮助。当我查询较慢的集合时,它会更快。

有人知道如何提高这个查询的性能吗?

非常感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-30 14:50:56

没有任何方法可以加快(或减缓)查询。

固定恢复查询性能主要受您请求的数据量的影响,因此减少该性能将是您的最佳选择。最简单的方法是请求更少的文档,但另一种方法是通过创建单独的集合(仅包含所需的每个文档的字段)或通过using server-side projection with the select method来请求每个文档的数据更少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65506314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档