Mongodb复合索引命中问题

如果当前有三个索引
(a,b,c,d)
(a,b,c,e)
(a,b,c,d,e,f)

当查询条件为:
(a,b,c,h)

会用到哪些索引,哪些字段会用到索引?
或者这么创建索引本身就存在问题吗?

阅读 4.1k
1 个回答
  • 有了(a,b,c,d,e,f)(a,b,c,d)是多余的,因为前者完全覆盖后者。
  • 当查询条件为(a,b,c,h)的时候,你提供的三个索引都可以使用,mongodb此时会进行一个简单查询,看哪个索引会最先返回101个符合条件的document,然后选中最合适的那个,可以参考下面的链接
    https://dba.stackexchange.com...
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进