firebase - Firestore 集合具有时间戳字段时的索引查询
问题描述
我有一个 Firestore 项目,其中我的收藏feed
有一个时间戳字段createdDate
。当我根据创建时间和其他字段查询提要时,我创建了一个Composite Index
包含时间戳字段。
在索引最佳实践文档中提到了以下内容。
如果您索引一个在集合中的文档之间按顺序增加或减少的字段(如时间戳),则对集合的最大写入速率为每秒 500 次写入。如果您不根据具有顺序值的字段进行查询,则可以使该字段免于索引以绕过此限制。
由于我已经在使用时间戳字段Composite Index
,因此我可以将该字段从Automatic Index Settings
. Composite Index
这将绕过集合中每秒 500 次写入的限制,还是在使用该字段时仍将应用它。请帮助我理解这一点。
解决方案
限制来自集合中任何索引中存在热点。虽然 Firestore 可以并行更新所有索引,但其吞吐量受到最慢索引的限制。从一个索引中删除热点,但将其保留在另一个索引上,意味着集合的写入吞吐量不会增加。
请注意,这不是硬编码限制,而是来自必须跨多个数据中心更新集群文件的物理限制。
推荐阅读
- php - 选中/未选中复选框值时更新数据透视表
- python - 如何修复“ImportError:无法导入名称'StringIO'”
- google-app-engine - 为什么 Google 删除了运行 Python 3.7 的 App Engine 的 Image API?
- javascript - 如何防止在骆驼中重新加载javascript?
- python - np.where 不会更改给定列表列表的 numpy 数组
- javascript - Javasciprt Post 错误:发送后无法设置标头
- c# - 415 调用文件上传api时不支持的媒体类型
- kubernetes - 作业完成后如何自动删除 Kubernetes 作业
- python - 如何在keras中向LSTM输入几个时间序列
- wordpress - 更改标签固定链接结构