【问题标题】:Does the index in Firestore count?Firestore 中的索引是否计数?
【发布时间】:2020-04-06 11:42:46
【问题描述】:

我已经读过,对于每个查询,都会自动创建一个索引。所以如果我创建这个查询:

db.collection("users").whereEqualTo("admin", true);

我得到一个结果,是否为 admin 属性创建了索引?如果是,这会占用文档配额的空间吗?

【问题讨论】:

  • 值得注意的是,索引不是免费的。所有索引确实占用空间,这会计入数据库的整体大小,以计入帐单,即使它不影响每个单独文档的总大小。
  • 非常感谢@DougStevenson 提供这些信息。正是我正在寻找的,以确保它不计入每个文档配额。

标签: java android firebase kotlin google-cloud-firestore


【解决方案1】:

查询不占用文档空间,文档的空间在你的 users 集合下的文档本身中,每个文档都有自己的大小,这个大小不受每个字段的索引影响

索引是为您的查询匹配的文档创建的,但您只需为您在该条件下访问的文档付费

来自documentation

每个查询后面都有一个索引 如果一个查询不存在索引,大多数 数据库逐项爬取其内容,这是一个缓慢的过程 随着数据库的增长,速度会更加缓慢。云防火墙 通过对所有查询使用索引来保证高查询性能。作为 结果,查询性能取决于结果集的大小和 不是数据库中的项目数。

更少的索引管理,更多的应用开发 Cloud Firestore 包括 可减少您花在管理上的时间的功能 索引。最基本的查询所需的索引是 自动为您创建。在您使用和测试您的应用程序时,Cloud Firestore 可帮助您识别和创建应用的其他索引 需要。

【讨论】:

  • 嗨。谢谢回答。我的问题不是关于查询,而是关于为用户文档中存在的admin 字段创建的索引。那么,如果它是一个创建的索引,它会占用 1Mb 的空间吗?
  • 每个文档中最多可以有 40.000 个索引字段,空间仅用于文档,不用于索引
  • 我的问题不是关于索引的数量,而是关于为字段创建的索引。如果它被创建,它是否从那个文档空间中计算出来,这是个问题。
  • 我回答说,索引不计入文档大小,仅计入文档元素本身
  • 索引本身也有限制,可以查看firebase.google.com/docs/firestore/quotas
猜你喜欢
  • 2020-01-15
  • 2020-09-15
  • 2020-10-23
  • 1970-01-01
  • 1970-01-01
  • 2021-12-31
  • 2018-03-26
  • 1970-01-01
相关资源
最近更新 更多