MongoDB-复合索引

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 和 MySQL 一样, MongoDB 也支持复合索引, 也就是将多个字段的值作为索引。?> 插入测试数据:

复合索引


和 MySQL 一样, MongoDB 也支持复合索引, 也就是将多个字段的值作为索引。

?> 插入测试数据:

db.person.insert([
{name:'cs', age:19},
{name:'as', age:18},
{name:'bs', age:17},
{name:'bs', age:20},
])


  • 如果在创建索引的时候只指定了一个字段,那么就是创建的索引为单值索引
db.person.createIndex({name: 1})


  • 如果在创建索引的时候指定了多个字段,那么这个索引就是复合索引
db.person.createIndex({name:1, age:-1})


如上我们已经创建好了复合索引之后,紧接着我们可以进行查询测试测试:

  • 使用了索引
db.person.explain().find({name:'bs', age:17})
db.person.explain().find({name:'bs'})


  • 没有使用索引
db.person.explain().find({age:17})


如上我们创建的复合索引最终在数据结构方面的体现如下:

(as, 18) -> {name:'as', age:18}
(bs, 20) -> {name:'bs', age:20}
(bs, 17) -> {name:'bs', age:17}
(cs, 19) -> {name:'cs', age:19}


!> 复合键索引只支持 前缀 子查询, 也就是 A,B,C 复合索引 A,B,C 会使用索引, A,B会使用索引, A会使用索引,但是 B 不会使用索引, C 也不会使用索引, B,C 也不会使用索引。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
1月前
|
存储 NoSQL MongoDB
掌握MongoDB索引优化策略:提升查询效率的关键
在数据库性能调优中,索引是提升查询效率的利器。本文将带你深入了解MongoDB索引的内部工作原理,探讨索引对查询性能的影响,并通过实际案例指导如何针对不同的查询模式建立有效的索引。不仅将涵盖单一字段索引,还会探讨复合索引的使用,以及如何通过分析查询模式和执行计划来优化索引,最终实现查询性能的最大化。
|
3月前
|
监控 NoSQL MongoDB
MongoDB数据库的索引管理技巧
【8月更文挑战第20天】MongoDB数据库的索引管理技巧
69 1
|
11天前
|
存储 NoSQL 关系型数据库
MongoDB索引知识
MongoDB索引知识
17 1
MongoDB索引知识
|
17天前
|
存储 NoSQL MongoDB
MongoDB 索引限制
10月更文挑战第22天
27 2
|
17天前
|
NoSQL MongoDB 索引
MongoDB 高级索引
10月更文挑战第22天
23 2
|
21天前
|
NoSQL MongoDB 索引
MongoDB 覆盖索引查询
10月更文挑战第21天
23 1
|
26天前
|
存储 NoSQL MongoDB
MongoDB 索引
MongoDB 索引
29 3
|
2月前
|
存储 NoSQL 关系型数据库
MongoDB中的索引操作总结
这篇文章总结了MongoDB中索引的概念、创建方法、常见操作指令、限制以及索引对查询效率的影响。
43 2
|
3月前
|
存储 NoSQL 关系型数据库
4-MongoDB索引知识
MongoDB通过索引提升查询效率,避免全集合扫描。索引采用B树结构存储部分数据集,按字段值排序,支持快速匹配与排序查询。主要类型包括:单字段索引,支持升序/降序;复合索引,字段顺序影响排序逻辑;地理空间索引,适用于坐标数据查询;文本索引,用于搜索字符串内容;哈希索引,用于散列分片,仅支持等值查询。更多详情参见官方文档:[MongoDB索引指南](https://docs.mongodb.com/manual/indexes/)。
|
4月前
|
存储 NoSQL MongoDB
MongoDB 索引原理与索引优化
MongoDB 索引原理与索引优化
99 1