Android 从Firebase Cloud Firestore中的集合查询特定文档的运行时间

Android 从Firebase Cloud Firestore中的集合查询特定文档的运行时间,android,firebase,google-cloud-firestore,Android,Firebase,Google Cloud Firestore,我正在使用googlecloudfirestore存储数据。假设我有一个简单的城市集合 假设我的cities集合中存储了10000个城市文档。查询具有特定Id(例如:“city_123”)的文档的运行时间是多少。它在时间上是恒定的还是与文档的大小相当 查询包含10000个文档的集合的时间是常数,但传输时间永远不能是常数。它取决于所查询文档的大小。另一个重要因素是用户设备上的带宽。两者都会增加查询该文档所需的时间 为了减少时间,我建议您通过使用其中一种过滤方法来减少数据量。是官方文档。Firest

我正在使用
googlecloudfirestore
存储数据。假设我有一个简单的
城市集合


假设我的
cities
集合中存储了10000个城市文档。查询具有特定Id(例如:“city_123”)的文档的运行时间是多少。它在时间上是恒定的还是与文档的大小相当

查询包含10000个文档的集合的时间是常数,但传输时间永远不能是常数。它取决于所查询文档的大小。另一个重要因素是用户设备上的带宽。两者都会增加查询该文档所需的时间


为了减少时间,我建议您通过使用其中一种过滤方法来减少数据量。是官方文档。

Firestore旨在根据用户需求自动扩展。无论数据库大小如何,您都可以从中获得相同的性能。查询时间不取决于数据库的大小

云Firestore执行自动、多区域复制以减少延迟。


因此,如果您从大小为10000的数据集中查询5个文档,或者从大小为10000K的数据集中查询5个文档,那么查询时间将是相同的。查询时间与返回结果的大小有关。

1)您显示的屏幕截图是Firebase实时数据库的屏幕截图,但您询问的是Cloud Firestore。这两个数据库是完全不同的NoSQL数据库,具有各自的特点。2) 这听起来像是一个错误。您可以轻松地测量自己,但只需编写少量代码即可执行操作。3) 操作所需的时间取决于许多变量。我们无法预测你的情况。我只是添加了一张参考图片。我想知道的是,基于Id获取文档是一个固定时间还是与文档大小相当(在我的例子中是10000)?我问的是一个一般的案例场景,其中每个文档都有相同的变量集。对于大多数用例,检索文档的主要限制因素是用户设备的带宽。这意味着文档大小是影响读取文档所需时间的主要因素。基于Id查询单个文档时,文档大小不是一个因素?我可以从个人经验讲,无论您有10个节点还是100000个节点,查询单个节点的周转时间几乎是瞬间的。也就是说(之前说过)还有很多其他因素(互联网速度等),但我认为最大的因素是你的查询结果。假设您有10个用户,并查询名为“Leroy”的用户。可能返回的最大值为10。但是,将数据库大小增加到100000,则返回更大数据集的可能性更高。返回的数据量会影响速度和用户体验。查询时间实际上是恒定的。传输时间不确定。用户看到的速度主要受传输时间的影响。系统的可伸缩性主要受实际查询时间的影响。@frankvanpoffelen,当我说时间,信息传输时间时。更新了我的答案。非常感谢。