Firebase从节点下载所有数据为什么?即使有时间戳

时间:2016-06-20 07:04:15

标签: android performance firebase firebase-realtime-database

这是我的firebase代码片段

Query recentPostsQuery = reference.child(AppConstants.WORKINDIA_JOB_NODE)
                        .orderByChild(AppConstants.TIMESTAMP)
                        .startAt(lastSyncTime);
                 recentPostsQuery.addListenerForSingleValueEvent(jobBulKDownloadListener);

即使它从firebase服务器提供更改数据,但下载所有数据并消耗非常高的网络包。

我用

打印
  FirebaseDatabase.getInstance().setLogLevel(Logger.Level.DEBUG);

这是在日志

下打印整个数据
  D/WebSocket: ws_3 - ws message:

enter image description here

这就是我检测到的方式,即使我获得0记录,也会在每次火力召唤时秒杀。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如果时间戳(关键之一)索引,那就太麻烦了。 转到firebase面板并在规则部分中添加密钥

这是一个非常大的问题,如果您不添加索引,它将下载所有数据并在客户端进行比较。

我每3分钟同步一次,它在单夜消耗了200 MB。

enter image description here