【发布时间】:2019-10-01 16:49:26
【问题描述】:
我正在使用RealTime-database(Firebase 7.3.2) 和Unity。
当我使用LimitToLast() 方法时,查询需要很长时间(1.5 到 2 分钟)才能返回响应。
但是当我加载整个数据或在没有LimitToLast 方法的情况下执行此查询时,这不会花费很长时间。
我想问一下大家在开发实时firebase数据库的过程中是否有这个问题。
我的数据库包含 1700 个房间。
这是查询:
var result = await FirebaseDatabase.DefaultInstance.GetReference("Rooms")
.OrderByChild("CreationDate").LimitToLast(10).GetValueAsync();
这就是数据库中房间集合的结构:
{
"Rooms" : {
"-Lp860kFH8TjdAsPpar1" : {
"CreationDate" : -14400,
"Title" : "Room 1",
...,
},
"-Lp860kFH8TjdAsPpbr2" : {
"CreationDate" : -14402,
"Title" : "Room 2",
...,
},
...
"-Lp860kFH8TjdAsPpar3" : {
"CreationDate" : -14404,
"Title" : "Room 1700",
...,
}
}
}
【问题讨论】:
-
你确定这是因为
LimitToLast而不是因为OrderByChild("CreationDate")吗? -
是的,我确定这是因为 LimitToLast。我试图从查询中删除 OrderByChild("CreationDate") 并保留 LimitToLast ,这需要很长时间才能执行。 :(
标签: firebase unity3d firebase-realtime-database