首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MongoDB中的复合索引是否改善了多重匹配(而不是排序)?

MongoDB中的复合索引是否改善了多重匹配(而不是排序)?
EN

Stack Overflow用户
提问于 2015-08-16 09:46:11
回答 1查看 652关注 0票数 2

这方面的文档似乎有点不清楚。

1)明确了复合指标确实提高了多字段排序(顺序和方向相关)的性能。

2)有一个短语让我觉得也会改进多字段MACH (sql类推: a=1、b=2和c<5)

https://docs.mongodb.org/v3.0/tutorial/optimize-query-performance-with-indexes-and-projections/

如果查询搜索多个字段,则创建复合索引。

这跟分类没什么关系。

那么,字段a、b、c上的复合索引是否比三个单字段索引(其中包括a=1、b=2和c<5)更适合匹配性能?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-16 11:47:01

是的,创建复合索引可以提高查询性能。

如果所有查询都使用相同的单键索引,则创建单键索引。

如果对于特定集合,则使用单个键进行匹配,如where a=1

创建复合索引以支持几个不同的查询

如果查询使用一个或多个键,则最好使用复合索引。

代码语言:javascript
复制
db.sample.createIndex( { "a": 1, "b": 1, "c":1 } )

您可以只对a进行查询,也可以对a、b和c进行联合查询,还可以使用explain()方法来了解查询所使用的计划。

指数相交还可以优化查询的性能。它可以支持复合指数所不能支持的内容。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32033751

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档