mongodb索引

  1. 获取当前表中有哪些索引 db.user.getIndexes()

  2. 创建索引

//第一种方式
db.user.ensureIndex({"name",1}) //其中1表示按升序 -1降序

//第二种方式 该方式指示在后台运行创建索引(后台线程)
db.user.ensureIndex({"username":1},{"background":true})

ensureIndex方法中的参数

参数 描述
background 指示是否为后台运行 bool值
unique 指示是否是唯一索引
name 索引的名称
dropDups 在创建唯一索引时是否删除重复数据 默认为false

联合索引

//创建一个 name 升序 和price 降序 联合索引
db.user.ensureIndex({"name":1,"price":-1});

删除索引 db.user.dropIndex({"userid":1})

  1. explain 会返回查询使用的索引情况,耗时和扫描文档数的统计信息。

用法:

db.user.find().explain()

4. explain executionStats 查询具体的执行时间

用法:

db.user.find({name:"zhangshan"}).explain("executionStats")

explain.executionStats.executionTimeMillis表示查询的时间

原文地址:https://www.cnblogs.com/HiLzd/p/9585124.html