5.MongoDB索引
生活随笔
收集整理的這篇文章主要介紹了
5.MongoDB索引
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
- mongodb支持索引,以提升查詢速度
?
步驟一:創(chuàng)建大量數(shù)據(jù)
- 在命令行中執(zhí)行如下代碼,向集合中插入10萬條文檔
- 注意:不要在圖形界面中執(zhí)行,因為軟件原因無法插入10萬條數(shù)據(jù)就會中斷執(zhí)行
for(i=0;i<100000;i++){
???db.t1.insert({name:'test'+i,age:i})
}
步驟二:數(shù)據(jù)查找性能分析
- 查找姓名為'test10000'的文檔
db.t1.find({name:'test10000'})
- 使用explain()命令進(jìn)行查詢性能分析
db.t1.find({name:'test10000'}).explain('executionStats')
- 其中的executionStats下的executionTimeMillis表示整體查詢時間,單位是毫秒
?
步驟三:建立索引
- 創(chuàng)建索引
- 1表示升序,-1表示降序
db.集合.ensureIndex({屬性:1})
如
db.t1.ensureIndex({name:1})
?
步驟四:對索引屬性查詢
- 執(zhí)行上面的同樣的查詢,并進(jìn)行查詢性能分析
db.t1.find({name:'test10000'}).explain('executionStats')
?
索引的命令
- 建立唯一索引,實現(xiàn)唯一約束的功能
db.t1.ensureIndex({"name":1},{"unique":true})
- 聯(lián)合索引,對多個屬性建立一個索引,按照find()出現(xiàn)的順序
db.t1.ensureIndex({name:1,age:1})
聯(lián)合使用最多,但是索引第二個數(shù)據(jù)必須有第一個數(shù)據(jù),否則不能索引
?
- 查看文檔所有索引
db.t1.getIndexes()
?
- 刪除索引
db.t1.dropIndex('索引名稱')
總結(jié)
以上是生活随笔為你收集整理的5.MongoDB索引的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 爬虫必须学会的正则表达式
- 下一篇: java socket tomcat_在