mongo queryPlanner 使用正确的索引,即使查询字段顺序与索引字段顺序不匹配
在 mongo 的文档中,它说顺序字段对于索引很重要:
复合索引中列出的字段的顺序很重要。该索引将包含对首先按项目字段的值排序的文档的引用,并且在项目字段的每个值中,按库存字段的值排序。有关详细信息,请参阅排序顺序。
当我尝试此查询时:
db.getCollection('foobar').find({
'target.propertyId': {
$in: [
ObjectId('01'), ///...
]
},
// NOTICE ownerId at end of query but queryPlanner still know which index to hit the one with ownerId at first
ownerId: ObjectId('02')}
)
.explain('executionStats')
如果我检查 queryPlanner,我会看到它自动选择我希望它选择的正确索引:开头有 ownerId
的索引。那么这是否意味着字段顺序不需要 100% 来匹配索引?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论