queryLimited的Firebase查询有效性



我想知道当前的主题,我知道一些火情基地专家很快就做出了回应,这就是我在这里分享的原因。

如果我从一个孩子那里查询数据并将其限制在last24,那么它的消耗量是否与我只查询最后一个并查询两次时的消耗量相同?(分页,通常我想知道我是否应该同时查询更多的帖子以减少数据消耗,或者是否相同(

示例如果我叫一次也是一样吗

query.queryLimited(toLast: 2).observeSingleEvent

还是两次?

query.queryLimited(toLast: 1).observeSingleEvent

仅从数据消耗的角度来看

仅从数据消耗的角度

一个快速的答案是,它实际上取决于对象的大小。

让我们举一个简单的例子。让我们假设我们有一个用户节点,看起来像这样:

Firebase-root
|
--- users
|
--- $uid
|    |
|    --- name: "Zash__"
|
--- $uid
|
--- name: "Alex Mamo"

正如您所看到的,我的对象比您的大,因为我的名称包含九个字符,而您的名称仅包含

六个因此,如果您使用以下查询:

query.queryLimited(toLast: 2).observeSingleEvent

将下载的数据量为(6+9(15字节。另一方面,如果您使用以下查询两次:

query.queryLimited(toLast: 1).observeSingleEvent

考虑到查询中的最后一个用户是我,将下载的数据量将为(9+9(18字节

因此,您下载的数据量始终取决于您正在下载的对象的大小。如果碰巧,两个对象将具有完全相同的大小

,那么将下载的数据量将相同。

如果您希望而不是关心对象的大小,那么您应该考虑使用Cloud Firestore,在那里文档的大小无关紧要。这意味着,如果一个文档的大小是20字节,而你阅读了它,或者是1Mib(最大大小(,你总是要支付相同的价格,这就是阅读一个文档。


p.S.很可能计算并不是这样做的,但这只是理解概念的一个例子。

相关内容

  • 没有找到相关文章

最新更新