首页 > 解决方案 > 在 MongoDB 中为字符串字段创建索引的原因

问题描述

当我在 MongoDB 中的字符串类型字段上创建索引时,我并没有从中获得显着的速度提升。事实上,当我使用查询时:

db.movies.find({plot: /some text/}).explain("executionStats")

索引在我的数据库(约 55k 文档)中将查询速度减慢了 30-50%。

我知道,我可以使用“文本”索引,这对我来说效果很好,但我想知道,为什么要在字符串字段上创建“正常”索引。

标签: mongodbindexing

解决方案


字符串字段的索引将提高精确匹配的性能,例如,

db.movies.find({name: "some movie"})

索引也将用于查找带有前缀表达式的查询,

db.movies.find({plot: /^begins with/})

推荐阅读