Firebase并行查询

时间:2017-08-20 18:50:16

标签: swift firebase firebase-realtime-database

我有一个用户的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字段中拆分)。

1 个答案:

答案 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