位置:首頁 > 數據庫 > MongoDB基礎教程 > MongoDB索引的限製/缺點

MongoDB索引的限製/缺點

索引額外的開銷:

每索引占據一定的空間,並且會導致每個插入,更新和刪除的開銷。所以,如果很少使用集合進行讀操作,建議不要使用索引。

RAM用法:

由於索引存儲在RAM中,應該確保索引的總大小不超過內存的大小限製。如果RAM總大小的增加,它會就開始刪除一些索引,從而導致性能的損失。

查詢的限製:

索引不能在其中使用查詢中,而使用:

  • 正則表達式或取反運算符,如 $nin, $not 等
  • 算術運算符類似 $mod, etc.
  • $where 子句

因此,查詢始終檢查索引的使用。

索引鍵限製:

從2.6版本開始,如果現有的索引字段的值超過了索引鍵的限製,MongoDB將不會創建索引。

插入文檔超過索引鍵限製:

如果文檔的索引字段值超過索引鍵限製,MongoDB 將不插入任何文檔到索引的集合。在 mongorestoremongoimport 實用工具的情況相同。

最大範圍:

  • 集合不能超過64個索引
  • 索引名的長度不能超過125個字符
  • 一個複合索引最多可以有31字段索引