Vuefire(Firestore)非常非常慢的查询

Posted

技术标签:

【中文标题】Vuefire(Firestore)非常非常慢的查询【英文标题】:Vuefire (Firestore) Very, Very Slow Queries 【发布时间】:2020-01-10 19:59:17 【问题描述】:

更新:TL;DR - 不是 firebase / vuefire 问题

如果有人遇到这种情况,正在寻求速度问题的解决方案 - firebase 和 vuefire 都没有错。

经过多次试验,我发现一个 fontawesome 图标是罪魁祸首 - 我还没有弄清楚究竟是如何或为什么,但无论如何,这不是 firebase / vuefire 问题。


我正在使用 Vuefire 和 Firestore 数据库。

查询 Firestore 数据库中超过 100 条记录的速度非常慢。例如,返回 700 条记录的查询大约需要 1 分钟:

第一个查询和任何后续查询都是如此。

这些不是大文件。

我在这里做错了什么?除了将返回的记录数限制为

相关代码(Vue CLI):

<script>

import  fb, db  from "@/firebaseConfig";

export default 
  name: "rules",
  data() 
    return 
      rules: []     
    ;
  ,

  firestore() 
    return 
      rules: db.collection("rules")
    ;
  


...

</script>

【问题讨论】:

从 Firestore 中检索数据通常与检索的数据量呈线性关系。你读了多少数据?您检索它的互联网连接有多快?如果这不能帮助您自己解决问题,您可以在 jsbin 或 stackblitz 之类的网站上设置问题的重现吗? 根据我的问题中的屏幕截图,刚刚超过 700 条记录,总计 57.2 KB。将查询限制为 200 条记录可将查询时间减少到大约。 500 毫秒。将查询限制为 100 条记录并不能真正将查询时间减少到 500 毫秒以下。无论如何,1 分钟检索 700 条记录太长了。 我使用的是光纤,我的下载速度非常快(对于新西兰...) 嗯...不确定发生了什么。能否在 jsbin 或 stackblitz 之类的网站上设置问题的重现,以便我们看看? 我尝试在 stackblitz 上进行设置,但它没有加载 vuefire 插件 【参考方案1】:

更新:TL;DR - 不是 firebase / vuefire 问题

如果有人遇到这种寻求速度问题的解决方案 - firebase 和 vuefire 都没有错。

经过多次试验,我发现一个 fontawesome 图标是罪魁祸首 - 我还没有弄清楚究竟是如何或为什么,但无论如何,这不是 firebase / vuefire 问题。

【讨论】:

很高兴听到您找到了问题的原因 Alex!

以上是关于Vuefire(Firestore)非常非常慢的查询的主要内容,如果未能解决你的问题,请参考以下文章

VueFire - 在渲染之前操作 Firestore 数据

Firestore 查询返回未定义快照的位置(Vue.js / Firestore / Vuefire)

将 getter 设置到 vuefire 的 firestore 部分

在 vuefire 的 firestore 内的“this”中获取“undefined”

vue + firestore:如何使用 vuefire 绑定/合并数据?

导入 firebase.firestore() 返回未定义