【问题标题】:Firestore queries wherequalto vs wherestartat and endat? performance and pricing?Firestore 查询 wherequalto vs wherestartat 和 endat?性能和价格?
【发布时间】:2020-05-19 07:42:13
【问题描述】:

我正在为我的 Android 应用程序使用 Firestore 数据库,在某些地方我必须根据字符串的某些部分执行查询,例如: 如果一个文档包含一个字段txnId,其中包含的值为“abcd-efg-jkl”所以我想使用 whereStartAt("abcd").whereEndAt("abce") 查询这个文档(想要获取所有以开头的文档'A B C D') 现在我的问题是,当我使用精确搜索作为 equalTo 运算符与 startAt 时,性能如何?定价会受到怎样的影响?

【问题讨论】:

    标签: android firebase performance google-cloud-firestore


    【解决方案1】:

    我使用精确搜索作为 equalTo 运算符而不是 startAt?

    您使用哪一个并不重要,两者的性能相同,因此您应该使用返回所需结果的那个。请注意,在 Firestore 中,查询性能取决于您请求的项目数量,而取决于您搜索的项目数量。例如,从包含 equalTo() 调用的查询中检索 5 个元素的时间将始终与从包含 startAt() 调用的查询中检索 5 个元素的时间相同。

    定价会受到怎样的影响?

    价格不会受到您使用的方法的影响。价格将受到查询返回的元素数量的影响。查询返回的每个元素都需要读取一个文档。但是,即使query yields no results,每个查询都至少需要执行一次读取。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-19
      • 2016-03-09
      • 1970-01-01
      相关资源
      最近更新 更多