MongoDB - 索引

参考文档:https://docs.mongodb.com/manual/indexes/

1.索引是什么

索引就是一个数据库的目录,有了索引,查找文档时就不需要扫描整个库了,在索引中找到条目后,直接跳转到目标文档位置,使得查询速度提升几个数量级。

索引又分为普通索引唯一索引地理空间索引

2.索引相关命令

以下命令还是以user集合为例

  • 查询索引
db.user.getIndexes();
db.user.reIndex();
  • 创建索引
# 单键索引,按name正序
db.user.ensureIndex({name:1})
# 复合索引,按name正序、age倒序
db.user.ensureIndex({name:1,age:-1})
# 创建索引,并设置参数
#   background: 后台模式创建索引,不会阻塞数据库其它操作
#   unique: 唯一索引
#   dropDups: 创建索引时消除重复文档,仅保留第一个
#   sparse: 索引键为空值或索引键不存在是,文档部进入该索引
db.user.ensureIndex({name:1},{"background":true,"unique":true,"dropDups":true,"sparse":true})
  • 删除索引
# 删除指定索引名称的索引
db.user.dropIndex("index_name");
# 删除所有索引(不会删除_id的索引)
db.user.dropIndexes();
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 索引能够提高数据库的查询效率,没有索引的话,查询会进行全表扫描(scan every document in...
    zhglance阅读 2,075评论 0 6
  • 前言 在MongoDB中,索引通常能够极大的提高查询的效率。如果没有索引,MongoDB在读取数据时必须扫描集合中...
    honehou阅读 1,425评论 0 1
  • 索引是数据库中的一个重要对象,主要用于支持高效查询操作。如果没有索引,数据库就只能进行全表扫描,效率将极为低下。m...
    UncleYee阅读 2,486评论 0 5
  • mongodb 索引使用 作用 索引通常能够极大的提高查询。 索引是一种数据结构,他搜集一个集合中文档特定字段的值...
    持续进步者阅读 14,925评论 0 13
  • 索引 索引就是用来加速查询的。数据库索引与书籍的索引类似:有了索引就不需要翻遍整本书,数据库则可以直接在索引中查找...