mongodb 索引限制

2018年04月24日 11:28 | 2675次浏览

额外开销

每个索引都会占据一些空间,从而也会在每次插入、更新与删除操作时产生一定的开销。所以如果集合很少使用读取操作,就尽量不要使用索引。


内存使用

因为索引存储在内存中,所以应保证索引总体的大小不超过内存的容量。如果索引总体积超出了内存容量,就会删除部分索引,从而降低性能。


查询限制

当查询使用以下元素时,不能使用索引:

正则表达式或否定运算符($nin、$not,等等)

算术运算符(比如 $mod)

$where 子句

因此,经常检查查询使用的索引是一个明智的做法。


索引键限制

自 MongoDB 2.6 版本起,如果已有索引字段的值超出了索引键限制,则无法创建索引。

插入文档超过索引键限制

如果文档的索引字段值超出了索引键的限制,MongoDB 不会将任何文档插入已索引集合。类似于使用 mongorestore 和 mongoimport 工具时的情况。


最大范围

集合索引数不能超过 64 个。

索引名称长度不能大于 125 个字符。

复合索引最多能有 31 个被索引的字段。



小说《我是全球混乱的源头》

感觉本站内容不错,读后有收获?小额赞助,鼓励网站分享出更好的教程


上一篇:mongodb 高级索引 下一篇:mongodb ObjectId
^