我在Firebase数据库中进行了一些分析,发现了一个异常
Read Speed
┌───────────────────────────────┬───────┬─────────────┬───────────────────┐
│ Path │ Count │ Average │ Permission Denied │
├───────────────────────────────┼───────┼─────────────┼───────────────────┤
│ /safeList │ 4 │ 3,092.50 ms │ 0 │
├───────────────────────────────┼───────┼─────────────┼───────────────────┤
这意味着对该结构的每个请求都花费了3秒以上。这不是世界上最严重的问题,但仍然很奇怪。
safelist
是按长度顺序排序的字符串列表,然后导入到firebase中。该列表包含大约8000个长度为5到25的字符串。
这些请求是我提出的,每个请求仅请求集合中的前5000个样本。
我的问题是:
==========更新==========
有人在问数据和代码。
我调用此查询的唯一代码是:
firebase.child("safeList").limitToFirst(5000).addListenerForSingleValueEvent(new ValueEventListener() { //do stuff
我没放,因为它很笨
并如描述中所述:
安全列表是一个字符串列表,其中约8000个项目是按长度顺序排序的
与之相关的数据库规则:
"safeList":{
".read":"root.child('premiums').child(auth.uid).exists()",
".write":false,
".indexOn" : ".value"
},
第二慢的查询仅花费60毫秒,平均需要3000毫秒