這篇文章主要介紹了關於Mongo索引的一些說明,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
#優:加快查詢速度
劣:增刪改會產生額外的開銷、佔用空間
tips: 傳回集合中一半以上的數據,全表掃描的效率高
檢視索引:db.test.getIndexes()
建立索引:db.test.ensureIndex({" username":1},{"background":true,"name":"index_test_name"}) //已有大量資料時可後台執行不阻塞
刪除索引: db.test.dropIndex({ "username":1})
查看索引大小: db.test.totalIndexSize()
索引順序:
1為正序,-1為逆序
在複合索引中需注意順序(id:1, age:-1)
索引屬性:
唯一性
db.test.ensureIndex({x:1,y:1},{unique:true})
稀疏性
db.test.ensureIndexx({},{sparse:true/false}) 不稀疏(默认): 1. 可插入不存在索引字段的数据,null; 2. 可筛选不存在字段: db.test.find({m:{$exist:ture}}) 稀疏:
explain
已獲知系統如何處理要求
cursor 返回游标类型(BasicCursor或BtreeCursor) nscanned 被扫描的文档数量 n 返回的文档数 millis 耗时(毫秒) indexBounds 所使用的索引
強制使用某個索引
db.test.find({"age":20}).hint({"name":1,"age":1}) // .hint(name_1_age_1)
##Tips
以上是關於Mongo索引的一些說明的詳細內容。更多資訊請關注PHP中文網其他相關文章!