【发布时间】:2019-12-24 02:43:28
【问题描述】:
https://cloud.google.com/datastore/docs/concepts/indexes 的索引文档说内置的单属性索引可以支持
仅使用祖先过滤器和相等过滤器的查询
仅使用不等式过滤器的查询(仅限于单个属性)
由于属性的内置索引是按属性值排序的,我了解它如何支持单个不等式过滤器。但是,它如何能够支持祖先查询的相等过滤器?假设我有一百万行具有相同的属性值,但给定的祖先条件仅匹配这百万行中的 100 行,它是否必须扫描所有百万行才能找到 100 个匹配的行?我认为情况并非如此,因为我读到 Cloud Datastore 会随着结果集中的行数而不是数据库中的行数进行缩放。因此,除非单个属性索引在内部是一个多列索引,其中第一列作为属性,第二列作为实体键,否则我看不出如何使用内置的单一属性有效地支持这些祖先 + 相等查询查询。
【问题讨论】: