代码之家  ›  专栏  ›  技术社区  ›  EggBender

只有一个复合索引字段的MongoDB查询

  •  0
  • EggBender  · 技术社区  · 6 年前

    假设我有一个复合索引,它按顺序使用以下两个字段:GroupId、NameId。然后在某个时候我想查询集合,但是我只能访问NameId,那么如果复合索引的第一个字段不用于查询,MongoDB如何进行此搜索?是否对每个组使用线性搜索,但由于名称ID在每个组中排序,因此它使用名称ID?或者它也忽略了NameId字段,只使用线性搜索?

    简而言之,如果不使用A,复合索引的字段A是否可以“破坏”并强制对字段B和/或C进行线性搜索?还是二进制搜索仍然用于B和C字段?

    0 回复  |  直到 6 年前