当我在MongoDB中的字符串类型的字段上创建索引时,没有明显的速度提升。实际上,当我使用查询时:
db.movies.find({plot: /some text/}).explain("executionStats")
索引正在使我的数据库中的查询速度降低30-50%(〜55k Docs)。
我知道,我可以使用对我来说很好的“文本”索引,但是我想知道为什么要在字符串字段上创建“普通”索引。
答案 0 :(得分:1)
字符串字段的索引将提高精确匹配的性能,例如
db.movies.find({name: "some movie"})
索引也将用于带有前缀表达式的查找查询
db.movies.find({plot: /^begins with/})