Firebase性能:每个节点有多less个孩子?
如果一个节点有1亿个孩子,如果我:
a)查询,但限制为10个结果
b)只看一个孩子
我可以将数据分成多个父母,但是在我的情况下,我会给孩子一个参考,所以可以直接查看(这会降低复杂度)。 如果有影响,性能下降之前每个场景的最大数量是多less?
如果一个节点有许多孩子,以任何方式访问该节点都是问题的秘诀。 接触一个人的孩子从来都不是问题。
查询其子节点的子集仍然要求数据库考虑每个子节点。 如果您要求提供1亿个项目中的最后10个项目,则要求数据库考虑您显然不感兴趣的999,999,990个项目。
如果没有更具体的数据大小,sorting标准等等来说明什么是最大值是不可能的。但是说实话,即使这样,最好的结果也可能是一个有很大差异的值随时间变化。
Firebase(以及大多数NoSQL解决scheme)的最佳做法是以适合您应用程序使用该数据的方式对数据进行build模。 例如:如果您需要向用户显示最新的10个项目,请将这些最新的10个项目的(密钥)存储在单独的列表中。
items -K........0 title: "Firebase Performance: How many children per node?" body: "If a node has 100 million children, will there be a performance impact if I:..." -K........1 title: "Firebase 3x method won't working in real device but worked in simulator swift 3.0" body: "Hi we are working with google firebase 3x version and we faced..." . . . -K999999998 -K999999999 recent -K999999990: true -K999999991: true -K999999992: true -K999999993: true -K999999994: true -K999999995: true -K999999996: true -K999999997: true -K999999998: true -K999999999: true
我不确定在那里是否有正确的数目,但是我希望你能明白。