在多个ID上进行Firebase分层查询是否比在单个ID上进行简单查询更好?

时间:2020-06-30 03:12:03

标签: database firebase google-cloud-firestore

在具有Firebase后端的问答应用程序中,“帖子”包含问题,答案和对每个答案的答复。集合replies的文档有两个字段:questionIdanswerId

要获得对特定答案的答复,有两种查询方法

  • 方法1
firebase.firestore().collection('replies').where('answerId','==',answerId).get()
  • 方法2
firebase.firestore().collection('replies').where('questionId','==',questionid).where('answerId','==',answerId).get()

考虑到问题数量远大于答案数量,方法2的性能是否比方法1更好?还考虑了复合查询可能引起的延迟。

1 个答案:

答案 0 :(得分:1)

Firestore查询的性能仅取决于一件事:结果集中的文档数。如果您的两个查询返回相同数量的结果,则它们的整体性能相同。添加或删除过滤器根本不会改变这一点。