mongoDB 索引


索引的介紹

1、索引(indexes)幫助mongoDB提高執行查詢的效率

2、沒有索引,MongoDB必須執行集合掃描,即掃描集合中的每個文檔,以選擇與查詢語句匹配的文檔。

3、如果查詢存在適當的索引,則MongoDB可以使用該索引來限制它必須檢查的文檔數量。

4、索引是特殊的數據結構[1],以容易的遍歷形式存儲集合數據集的一小部分。

5、索引存儲由字段的值排序的特定字段或字段集的值

6、索引條目的排序支持有效的等效匹配和基於范圍的查詢操作。

7、此外,MongoDB可以通過使用索引中的排序返回排序結果。

下圖說明了使用索引選擇和順序匹配文檔的查詢:

從根本上說,MongoDB中的索引類似於其他數據庫系統中的索引。 MongoDB在集合級別定義索引,並支持MongoDB集合中文檔的任何字段或子字段的索引。

創建索引

  MongoDB在創建集合時在_id字段上創建一個唯一的索引。 _id索引阻止客戶端插入兩個與_id字段具有相同值的文檔。 您不能在_id字段上刪除此索引。

在分片集群中,如果不使用_id字段作為分片鍵,則應用程序必須確保_id字段中的值的唯一性,以防止錯誤。 這通常通過使用標准的自動生成的ObjectId來完成。

創建索引。

 To create an index, use db.collection.createIndex() or a similar method from your driver.

  db.collection.createIndex(<key and index type secification>,<options>)

MongoDB提供了許多不同的索引類型來支持特定類型的數據和查詢。

如果同一規范的索引不存在,則db.collection.createIndex()方法僅創建索引。

MongoDB索引使用B-tree數據結構。

MongoDB提供了許多不同的索引類型來支持特定類型的數據和查詢。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM