MongoDB 索引限制
MongoDB 索引限制
在本章中,我们将了解索引限制以及其他组件。
额外开销
每个索引都会占用一些空间,并在每次插入、更新和删除时产生开销。因此,如果很少将集合用于读取操作,则不使用索引是有意义的。
RAM使用
由于索引存储在RAM中,因此应确保索引的总大小不超过RAM限制。如果总大小增加了RAM大小,它将开始删除某些索引,从而导致性能损失。
查询限制
索引不能用于使用的查询
正则表达式和否定运算符$nin, $not, etc.
算术运算符,如$mod等。
$where子句
因此,始终建议检查查询的索引使用情况。
索引键限制
从2.6版开始,如果现有索引字段的值超过索引键限制,MongoDB将不会创建索引。
插入超过索引键限制的文档
如果此文档的索引字段值超过索引键限制,MongoDB不会将任何文档插入到索引集合中。mongorestore和mongoimport实用程序的情况也是如此。
最大范围
集合的索引不能超过64个。
索引名称的长度不能超过125个字符。
复合索引最多可以索引31个字段。