如何解决当Firestore集合具有“时间戳记”字段时查询索引
我有一个Firestore项目,其中我的收藏集feed
有一个时间戳字段createdDate
。当我根据创建的时间和其他字段查询提要时,我创建了一个Composite Index
,其中包括时间戳字段。
在Indexing best practices文档中,提到了以下内容。
如果您索引一个字段,该字段在两个字段之间顺序增大或减小 集合中的文档(例如时间戳),然后最大写入 收集的速率是每秒500次写入。如果你不查询 根据具有顺序值的字段,您可以免除该字段 从索引到绕过此限制。
由于我已经在Composite Index
中使用了timestamp字段,因此可以将该字段从Automatic Index Settings
中排除。这将绕过集合中每秒500次写入的限制,还是在Composite Index
正在使用该字段时仍然适用。请帮助我理解这一点。
解决方法
限制来自集合中任何索引中都存在热点。尽管Firestore可以并行更新所有索引,但其吞吐量受到最慢索引的限制。从一个索引中删除热点,而将其留在另一个索引上,则意味着该集合的写吞吐量没有增加。
请注意,这不是硬编码的限制,但这是由于必须跨多个数据中心更新群集文件的物理限制。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。