索引可以大大加快数据库查询的速度
1 新建索引
db.cname.createIndex({age: 1})//1表示升序建立索引,-1表示降序
db.cname.createIndex({name: 1, age: 1})//可以建立复合索引
db.cname.createIndex({age: 1},{background: true, name: 'age_index'}) //配置options
db.cname.createIndex({age: 1},{unique: true}) //唯一索引,设置了唯一索引的字段不能重复
2 查看索引
db.cname.getIndexes() //查看索引
db.cname.totalIndexSize() //查看索引数量
3 删除索引
db.cname.dropIndexes()
db.cname.dropIndexes("name_index")
4 查询性能分析
db.cname.find({name:'lili'}).explain()//结果queryPlanner 显示的是被查询优化器选择出来的查询计划
db.cname.find({name:'lili'}).explain('executionStats')//executionStats 返回的是获胜计划执行相关信息。