优化MongoDB复合索引

优化MongoDB复合索引

针对一个包含等式过滤,范围过滤和排序字段的查询,建立的复合索引的字段优先级,可以参考下面的规则

将所有等式过滤字段放在复合索引中最靠前的部分。
其次放入排序字段。如果有多个排序字段,升降序和返回结果的升降序保持一致。
最后放入范围过滤字段,区分度低(举个例子,性别的区分度为2,年龄的区分度为100,籍贯的区分度为10000)的放在前面。
如果某些字段不会被查询条件使用到,那就不需要将其加入索引中,这样可以减小索引大小。此外,如果某个字段作为索引,无法过滤掉90%以上的数据,就建议将其从索引中忽略。

最后,如果一张表上有多个索引,有时业务指定Hint可能会比MongoDB使用查询优化器选择的索引更好。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • MongoDB提供了许多不同的方法,可以在其中形成索引并将其存储在内存(和磁盘)中。 这些索引中的每一个都有不同的...
    我是一名搬运工阅读 3,395评论 0 1
  • 这是一篇仅用于自身练习翻译的文章以及记录对mongodb相关的一些理解,如有错误欢迎指正。 嗯。谷歌机翻真的差的要...
    差很多先生CL阅读 4,294评论 0 5
  • 一、MySQL优化 MySQL优化从哪些方面入手: (1)存储层(数据) 构建良好的数据结构。可以大大的提升我们S...
    宠辱不惊丶岁月静好阅读 7,307评论 1 8
  • 为什么你写的sql查询慢?为什么你建的索引常失效?通过本章内容,你将学会MySQL性能下降的原因,索引的简介,索引...
    没有故事的老大爷阅读 3,153评论 0 1
  • 2100年,人类实现了能源大突破,通过大气层外围空间,建造了巨大的能量收集器,同时实现了同步轨道垂直升降技术,能源...
    Desperado_93e5阅读 1,706评论 0 0

友情链接更多精彩内容