【问题标题】:Cloud Firestore connection is slow on some devices某些设备上的 Cloud Firestore 连接速度很慢
【发布时间】:2021-06-04 00:11:13
【问题描述】:

任何想法为什么 Cloud Firestore 连接对我的客户来说很慢但对我来说几乎是即时的?选择的 Firebase 服务器是 europe-west3,我的客户在英国,我在罗马尼亚。

根据 speedtest.net 的数据,他的下载速度相对较好,但从 Cloud Firestore 下载数据非常慢。即使是 6 个文档,总共 8 个小字段,加载速度也非常慢。

【问题讨论】:

  • 请出示您的代码
  • @VadimPopov 这是获取我提到的那 6 个文档的代码:collection.orderBy("dateAdded", descending: true).snapshots();从集合中获取所有数据的侦听器;
  • 尝试更新google和firebase相关包
  • @PavelShastov 会尽快尝试。

标签: firebase flutter google-cloud-firestore


【解决方案1】:

您是否查看过 Firebase 博客帖子"Why is my Cloud Firestore query slow?"

我认为你应该在你的数据上使用实现 Indexing

Firebase 为 orderingquerying 您的数据提供了强大的工具。具体来说,Firebase 允许您使用任何公共子键对节点集合进行临时查询。

节点的键是自动索引的,所以不需要索引 明确的。

【讨论】:

  • 我认为 Firebase 已经负责按所有字段索引所有文档,因此它在复合索引方面施加了限制
  • 您链接的文档是指实时数据库,一个完全不同的产品
  • 感谢您的回答,但这不是我需要的。 1.您主要指向实时数据库,这与ppicom提到的不同。 2. 我看过“为什么我的 Cloud Firestore 查询很慢”,但大小数据的问题都是一样的。例如,从数据库中获取用户信息需要很长时间,该数据库是一个包含:姓名、电子邮件、电话号码、uid 和类别 id 的文档。
【解决方案2】:

不确定可能是什么原因,但我认为在查询和记录错误之前确保它正在初始化 firebase 是个好主意。

void main() {
  WidgetsFlutterBinding.ensureInitialized();
  runApp(App());
}

操作前初始化:

await Firebase.initializeApp();

把上面的代码和操作放在try、catch、log上看看慢的时候会发生什么,可能是初始化的时间不对或者没有初始化,需要额外的时间来操作。

【讨论】:

    【解决方案3】:

    以下一个或多个主题可能是原因:

    原因 #1:这是数据,傻!
    原因 #2:您的离线缓存太大
    原因 #3:您的 zig-zag 合并连接在应该 zag 时是 ziging
    原因 #4:您已经习惯了实时数据库
    原因 #5:物理定律让你失望

    我从 medium.com 文章中获得了这些项目,并留下了下面的链接。
    希望对您有所帮助:

    firebase-developers/why-is-my-cloud-firestore-query-slow-e081fb8e55dd

    【讨论】:

      猜你喜欢
      • 2019-03-01
      • 2013-11-10
      • 1970-01-01
      • 1970-01-01
      • 2011-07-20
      • 2018-11-12
      • 1970-01-01
      • 1970-01-01
      • 2018-12-08
      相关资源
      最近更新 更多