MongoDB限制每个集合最多64个索引,每个文档最大为16M
创建索引
db.user.ensureIndex({"name":1})
查看集合的索引
集合user
db.user.getIndexes()
{
"v" : 1,
"key" : {
"name" : 1.0
},
"name" : "name_1",
"ns" : "mydb.emps"
}
删除索引
db.user.dropIndex("name_1")
创建唯一索引
db.user.ensureIndex({"username":1},{"unique":true})
后台创建索引,定期释放写锁,从而保证其它操作的运行
db.user.ensureIndex({"username":1},{"background":true})
创建索引:age升序排序,username降序排序
db.user.ensureIndex({"age":1,"username":-1})
查询诊断工具
explain()
db.user.find({"userid":1}).explain()
强制查询使用特定的索引
hint()
强制使用索引{"userid":1,"age":1}
db.user.find({"userid":"sky"}).hint({"userid":1,"age":1})
强制查询使用全表扫描
{"$natural":1}
db.user.find({"userid":1}).hint({"$natural":1})
详情参照:
https://docs.mongodb.com/manual/reference/method/db.collection.createIndex/#db.collection.createIndex