更新时间:2023-11-21 GMT+08:00
索引规范
- 索引字段的长度不能超过512字节,索引名称长度不能超过64字符,单个复合索引所包含字段数最多不能超过16个。
- <数据库名>.<集合名>.$<索引名>的总长度不能超过128字符。
- 在高选择性字段上创建索引,在低选择性字段上查询时会返回较大的结果集,请尽量避免返回较大的结果集。
- 对集合的写操作同时会操作集合上的索引,从而触发更多的IO操作,集合上的索引数量不要超过32。
- 不要创建不会被使用到的索引,因为GeminiDB Mongo会加载索引到内存,无用索引加载到内存会浪费内存空间,因业务逻辑变化而产生的无用索引也要及时清理。
- 索引创建必须使用后台创建索引,禁止前台创建索引。
- 业务中查询,排序条件的key一定要创建索引,如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用。
- 不要基于复合索引的靠前字段再创建索引。复合索引可以被用于一个索引中主要字段的查询。例如,一个基于firstname和lastname的复合索引可以用于在fistname上的查询,这样,基于firstname的索引是不必要的。
- 索引创建的过程,耗时长短和数据量有关,建议提前设计创索引。
- 索引创建进度,可以通过db.currentOp命令返回结果(关键字:createIndexes)查看。
父主题: 使用规范