我有一个用户的firebase数据库,他们有一个名为active
的字段,可以是true或false。
firebase可以进行并行数据访问吗?即,在两个单独的查询或单个查询中检索数据会更快吗?
e.g。
// Load all active users
Constants.firebase.usersRef.queryOrdered(byChild: "isActive").queryEqual(toValue: true).observeSingleEvent(of: .value, with: {
(snapshot) in
self.loadActiveUsers(snapshot: snapshot)
})
// Load all inactive users
Constants.firebase.usersRef.queryOrdered(byChild: "isActive").queryEqual(toValue: false).observeSingleEvent(of: .value, with: {
(snapshot) in
self.loadInactiveUsers(snapshot: snapshot)
})
对战
// Load all users
Constants.firebase.usersRef.observeSingleEvent(of: .value, with: {
(snapshot) in
self.loadUsers(snapshot: snapshot)
})
loadActiveUsers
& loadInactiveUsers
只创建两个数组,一个用于活动用户,另一个用于非活动用户。 loadUsers
也可以这样做(通过在active
字段中拆分)。
答案 0 :(得分:1)
Firebase数据库客户端与其后端之间的所有交互都通过单个套接字连接进行。并行化请求没有任何好处。
另请参阅有关如何发送请求的详细说明:http://stackoverflow.com/questions/35931526/speed-up-fetching-posts-for-my-social-network-app-by-using-query-instead-of-obse/35932786#35932786