1. 程式人生 > >mongodb 索引1

mongodb 索引1

demo 包含 exe 博客 逆向 忽略 復合索引 index png

本博客在聽完慕課-入門mongodb這門課後所寫

在數據量較小時,不使用索引也可以查詢的很快,但是在數據量很大時,就要使用索引提高效率了。

1.db.demo.getIndexes() 可以表中所包含的索引

技術分享

可以看到 key的集合中包含_id ,就是說表中默認的索引就是_id

2.db.demo.ensureIndex({x:1})

x是1 正向排序

x是-1逆向排序

註意:在創建索引的時候,使用數據庫之前就要創建,不可以使用的時候創建,會嚴重影響數據庫性能,一般索引再插入數據後在創建,可能會對數據庫寫入有影響,但是可以忽略。

使用索引查詢數據時,性能會大幅度提升。

索引可以重復創建,如果重復創建,會直接返回成功。

技術分享

3,_id 索引的使用

他是很多集合默認建立的唯一索引

4.單鍵索引

db.demo1.ensureIndex({x:1})

值為單一的值

5.多鍵索引

與單鍵不同點就是:值具有多個記錄,例如數組,集合等

技術分享

當叉入這條數據後,mongo就會認為x是多鍵索引。

6.復合索引

技術分享

個人感覺,就是為查詢多個屬性值建立的索引。沒什麽不同。

7.過期索引

一段時間後會過期的索引,過期後會被刪除,適合存儲登錄信息,日誌等

db.demo1.ensureIndex({qqq:1},{expireAfterSeconds:10})

第二個參數是該索引的過期時間,就是說插入的數據會在這段時間後被刪除。

沒更完。。有空在更!

mongodb 索引1