mongodb - 在 MongoDB 中为字符串字段创建索引的原因
问题描述
当我在 MongoDB 中的字符串类型字段上创建索引时,我并没有从中获得显着的速度提升。事实上,当我使用查询时:
db.movies.find({plot: /some text/}).explain("executionStats")
索引在我的数据库(约 55k 文档)中将查询速度减慢了 30-50%。
我知道,我可以使用“文本”索引,这对我来说效果很好,但我想知道,为什么要在字符串字段上创建“正常”索引。
解决方案
字符串字段的索引将提高精确匹配的性能,例如,
db.movies.find({name: "some movie"})
索引也将用于查找带有前缀表达式的查询,
db.movies.find({plot: /^begins with/})
推荐阅读
- tensorflow - 在神经网络框架中是否有前向映射/扭曲的实现?
- c++ - C++ setenv 解析其他变量
- c# - 使用 SMO 复制数据库但不传输所有数据
- jenkins - 我想在job2中使用job1工作区(使用jenkins管道cd到job1工作区)但我收到错误
- java - javafx 场景构建器滚动窗格
- ruby-on-rails - NoMethodError:未定义的方法`define_instance_method'
- maven - Wildfly 17 服务器提供的 Maven 依赖项
- node.js - 出现错误:Node Sass 找不到当前环境的绑定:Linux 64-bit with Node.js 11.x
- amazon-web-services - 如果我超过 AWS SES 上的每秒电子邮件配额会怎样?
- android - 无法将 Map<> 存储到 Firebase 存储中