在MongoDB中为字符串字段创建索引的原因

时间:2019-02-28 08:52:53

标签: mongodb indexing

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

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

索引正在使我的数据库中的查询速度降低30-50%(〜55k Docs)。

我知道,我可以使用对我来说很好的“文本”索引,但是我想知道为什么要在字符串字段上创建“普通”索引。

1 个答案:

答案 0 :(得分:1)

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

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

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

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