gpt4 book ai didi

javascript - Firebase limitToLast() 是否会随着 child 记录数的增加而增加?

转载 作者:搜寻专家 更新时间:2023-11-01 05:29:38 25 4
gpt4 key购买 nike

我有一个 Firebase,它有一个名为 lines 的 child 。 lines 包含大约 500k 条记录,每条记录有八个键/值对。

当我的应用加载时,它会尝试使用以下方法获取 中的最后 128 条记录:

fb = new Firebase("https://myapp.firebaseio.com/lines");
fb.limitToLast(128).once("value", function(snapshot) {
// do something
});

我发现我的应用程序的初始加载时间越来越慢。唯一改变的是 lines 下有多少条记录。随着 lines 下的记录数量增加,我是否应该期望 limitToLast() 花费越来越长的时间?如果是这样,我可以尝试随着时间的推移剔除记录,但我的印象是 limitToLast() 查询只会获取指定的内容。

最佳答案

Should I expect limitToLast() to take increasing longer as the number of records under lines goes up?

是的。继续阅读以了解原因。

If so, I can try and cull the records over time

这确实是推荐的解决方案。

but I was under the impression that the limitToLast() query would only grab what is specified.

它只会发送与您的查询匹配的 child 给客户端。但是要知道发送哪些 child 需要考虑所有的 child 。因此,虽然 limitToLast() 可用于减少带宽,但它们不会减少 Firebase 服务器上的“磁盘 IO”。

我把“磁盘IO”放在引号里,因为这里涉及到很多因素。但总的来说:给数据库更多的节点来考虑,会使它变慢。或者相反:如果您给数据库做的工作越少,它就会更快地完成该工作

关于javascript - Firebase limitToLast() 是否会随着 child 记录数的增加而增加?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35165815/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com