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();

你可能感兴趣的:(MongoDB - 索引)