MongoDB教學
MongoDB快速入門
MongoDB歷史
MongoDB特點
MongoDB數據庫的優點
MongoDB安裝配置(Windows)
MongoDB安裝配置(Ubuntu)
MongoDB安裝配置(RedHat/CentOS)
MongoDB數據建模
MongoDB創建數據庫
MongoDB刪除數據庫
MongoDB創建集合
MongoDB刪除集合
MongoDB數據類型
MongoDB插入文檔
MongoDB查詢文檔
MongoDB更新文檔
MongoDB刪除文檔
MongoDB投影(選擇字段)
MongoDB限制記錄數
MongoDB排序記錄
MongoDB索引
MongoDB聚合
MongoDB複製
MongoDB分片
MongoDB備份與恢復
MongoDB部署
Java連接MongoDB操作
Python連接MongoDB操作
PHP連接MongoDB操作
Ruby連接MongoDB操作
MongoDB索引限制
在本章中,我們將瞭解索引限制及其它組件。
索引額外開銷
每個索引佔用一些空間,並導致每次插入,更新和刪除的開銷。因此,如果很少使用集合進行讀取操作(大部分是插入或更新操作),則建議不要使用索引。
RAM/內存的使用
由於索引存儲在RAM中,因此應確保索引的總大小不超過RAM
限制。 如果總大小超過了系統內存的大小,MongoDB將開始刪除一些索引,從而導致性能下降。
查詢限制
索引不能在使用的查詢中使用 -
- 正則表達式或否定運算符,如
$nin
,$not
等 - 算術運算符,如
$mod
等 -
$where
子句
因此,建議經常檢查查詢的索引使用情況。
索引鍵限制
從MongoDB 2.6版本開始,如果現有索引字段的值超過索引鍵限制,MongoDB將不會創建索引。
插入超過索引鍵限制的文檔
如果本文檔的索引字段值超過索引鍵限制,MongoDB將不會將任何文檔插入索引集合。 mongorestore
和mongoimport
工具也是如此。
索引最大範圍
- 集合不能有超過
64
個索引。 - 索引名稱的長度不能超過
125
個字符。 - 複合索引最多可以編號
31
個字段。