MongoDB 索引的限制

MongoDB 索引的限制

在本章中,我们将学习关于索引的限制以及其他组件。

额外开销

每个索引都占用一定的空间,并在每次插入、更新和删除时引起一定的开销。因此,如果您很少使用集合进行读操作,那么不使用索引是有道理的。

RAM使用

由于索引存储在RAM中,您应该确保索引的总大小不超过RAM限制。如果总大小超过了RAM的大小,系统将开始删除一些索引,导致性能损失。

查询限制

无法在使用以下查询的情况下使用索引:

  • 正则表达式或否定操作符,如nin、not等。
  • 算术运算符,如$mod等。
  • $where子句。

因此,始终建议检查您查询的索引使用情况。

索引键限制

从2.6版本开始,如果现有索引字段的值超过索引键限制,MongoDB将不会创建索引。

插入超过索引键限制的文档

如果一个文档的索引字段值超过索引键限制,MongoDB将不会将该文档插入到索引集合中。mongorestore和mongoimport工具也是如此。

最大范围

  • 一个集合不能拥有超过64个索引。
  • 索引名称的长度不能超过125个字符。
  • 复合索引最多可以有31个字段被索引。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程