firebase 如何对 count() 聚合查询收费

问题描述 投票:0回答:1

根据firebase文档,当您使用计数聚合查询时,您将根据完成的索引读取数量付费。 然而,这与 Frank van Puffelen 的声明相矛盾 新的 count() 聚合函数性能 谁说根据响应查询返回的计数值向您收费。 如果您执行涉及两个“where”子句的计数查询,例如

.where("country", isEqualTo: "United States")
.where("age", isGreaterThan: "100")

第一个 where 子句找到 100,000 个匹配项,第二个 where 子句将匹配数减少到 900,则返回的计数为 900。根据 Frank 的说法,您需要为一次读取付费(900 除以 1000,再加上 1)。 但是,由于读取了 100,000 个索引,我想知道您是否需要按 100,000 次除以 1000 次读取付费,即按 100 次读取付费。

此外,firebase 文档在这里 https://cloud.google.com/firestore/pricing#index-reads 这么说

最多具有一个范围字段的查询不收取索引费用 条目已读。

因此,对于我上面给出的示例,这意味着您根本不需要为任何索引读取付费。 那么对于我给出的例子来说这是正确的

  1. 弗兰克是正确的 - 您阅读一本书需要付费
  2. 您需要支付 100 次阅读的费用
  3. 您无需支付任何费用
firebase
1个回答
0
投票

Firestore 对您指定的查询使用专用索引。因此,您的两个条件标识所使用的复合索引中的单个数据片。

如果符合您的条件的计数查询返回的计数为 900,则它扫描了该计数的 900 个索引项,并且您需要为此支付 1 个文档的读取费用。

© www.soinside.com 2019 - 2024. All rights reserved.