【发布时间】:2020-10-13 02:40:54
【问题描述】:
简介
在我的用例中,我有一个呈现 8 个项目列表的屏幕。每个列表,对 Firestore 进行异步查询(因为它们需要来自不同集合的文档......)。我已经分析了这 8 个查询的执行时间,总共(我等待从这 8 个查询中获取所有数据的时间),我得到了 3 到 6 秒:
执行时间:5539.793ms
对于每个查询,我要检索大约 30 个文档。以下是它们的总体外观:
const query = playersRef
.where("random", ">=", randomId)
.where("level", "==", currentUserLevel)
.where("location.country", "==", currentUserCountry)
.orderBy("random")
.limit(30);
问题
我有点困惑。我知道发出 8 个请求会导致 8 个 RTT,但我不知道这段时间大部分是由与数据中心的距离引起的,还是由查询本身引起的,没有考虑到这个距离(从西班牙到爱荷华州)。
在单个云函数(托管在爱荷华州,一次返回所有内容)中实现所有这些查询这一事实是否会大大减少执行时间?
谢谢。
【问题讨论】:
-
这似乎是您可以针对自己的具体情况进行基准测试以获得明确答案的东西。
标签: javascript firebase google-cloud-firestore