我的问题是关于数据使用的。我正在考虑对我的应用程序实现分页,但我觉得如果我添加它,数据使用将不仅仅是定期抓取快照;所以我的问题是,以下查询是否使用相同数量的数据?还是查询受限,使用较少的数据?我所说的数据是指从 Firebase 下载的数据会影响我的定价。
let dbReference = FIRDatabase.database().reference().child("users")
let query = dbReference.queryOrdered(byChild: "display_name")
query.queryLimited(toLast: 5).observeSingleEvent(of: .value) { (snap:FIRDataSnapshot) in
print(snap)
}
let dbReference = FIRDatabase.database().reference().child("users")
dbReference.observeSingleEvent(of: .value) { (snap:FIRDataSnapshot) in
print(snap)
}
最佳答案
第二个操作可能读取的数据较少。
它是否确实取决于两件事:
- 数据库中的用户数。
- 如果有 5 个或更少的用户,数据量将相同。
- 如果用户超过 5 个,第二个片段将读取所有用户,而第一个片段可能只读取 5 个(取决于以下内容)。
- 您是否有 defined an index在
display_name
上。- 如果您定义了一个索引,第一个片段将只从服务器读取 5 个项目。
- 如果您没有定义索引,这两个操作将下载相同数量的数据,并且第一个片段将在客户端过滤数据。
关于ios - 数据使用和 Firebase 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46210619/