【问题标题】:Firestore single doc get vs query performanceFirestore 单文档获取与查询性能
【发布时间】:2020-11-22 02:35:39
【问题描述】:

对单个文档引用执行get 操作与执行查询操作以检索该单个文档之间是否存在性能差异?例如:
collection('users').document('uid').get() vs collection('users').where('uniqueField', '==', 'uniqueValue').get()
(假设查询操作是针对唯一值执行的,即每个值只有一个文档)

【问题讨论】:

  • 如果我没记错的话,首先你会收到一个文档,你可以从那里提取一个值,在第二个例子中,你会收到所有包含这个值的文档
  • @TomaszVizaint 感谢您的回复。假设我强制执行该值的唯一性(每个唯一值只有 1 个文档)
  • 您只收到一份文档,但查询想要在我不知道的所有文档中搜索对性能有好处
  • @TomaszVizaint 其实没关系。在这两种情况下,Firestore 都会使用有效的索引来查找请求的文档。

标签: firebase google-cloud-platform google-cloud-firestore


【解决方案1】:

看看这个question的第三个子问题和相应的答案。

由于您的查询仅返回一个文档,因此上述问题的答案适用:“性能差异可以忽略不计。 Firestore 查询的执行均基于检索到的文档总数,而不是文档数在集合中”。

有关 Firestore 为何如此运作的更多信息,我建议您观看以下 official video 关于“查询如何在 Cloud Firestore 中工作?”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-12
    • 1970-01-01
    • 1970-01-01
    • 2020-01-05
    • 1970-01-01
    • 2021-05-30
    相关资源
    最近更新 更多