Appearance
MongoDB 索引限制
索引数量与大小
- 单集合最多 64 个索引(含 _id)。
- 索引键总长度有上限(约 1024 字节,因版本而异),超长键无法建索引。
- 索引会占用磁盘与内存,过多或过大的索引会影响写入性能与内存。
索引名称
未指定时自动生成(如 name_1_age_-1)。可自定义:
javascript
db.users.createIndex({ name: 1 }, { name: "idx_name" })名称在集合内唯一,且长度等有限制。
其他限制
- 唯一索引:若集合中已有重复值,创建唯一索引会失败,需先清理重复数据。
- 文本索引:一个集合最多一个文本索引(可包含多字段);文本索引不能与某些其他索引类型混用。
- 多键索引:一个复合索引中最多一个数组字段。
- TTL 索引:只能用于单字段,且该字段需为日期或日期数组。
建议
- 按查询与排序需求建必要索引,避免冗余。
- 定期用
explain与监控确认索引使用情况,删除无用索引。下一节介绍 MongoDB ObjectId。