Firebase数据库加快简单读取

时间:2018-11-18 22:00:59

标签: android firebase firebase-realtime-database

我在Firebase数据库中进行了一些分析,发现了一个异常

Read Speed
┌───────────────────────────────┬───────┬─────────────┬───────────────────┐
│ Path                          │ Count │ Average     │ Permission Denied │
├───────────────────────────────┼───────┼─────────────┼───────────────────┤
│ /safeList                     │ 4     │ 3,092.50 ms │ 0                 │
├───────────────────────────────┼───────┼─────────────┼───────────────────┤

这意味着对该结构的每个请求都花费了3秒以上。这不是世界上最严重的问题,但仍然很奇怪。

safelist是按长度顺序排序的字符串列表,然后导入到firebase中。该列表包含大约8000个长度为5到25的字符串。

这些请求是我提出的,每个请求仅请求集合中的前5000个样本。

我的问题是:

  • 有什么方法可以提高读取性能?
  • 如果我只请求整个集合而不是前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毫秒

0 个答案:

没有答案