首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数顺序对Mongo查询性能的影响?

参数顺序对Mongo查询性能的影响?
EN

Stack Overflow用户
提问于 2018-06-22 17:39:49
回答 1查看 167关注 0票数 0

关于Mongo查询性能的一般问题和查询参数的顺序。

我们有一个用于存储“文件”元数据的集合,其中包括文件名和文件状态(整数代码值)。集合中只有少数同名的文件(最多只有几十个),但是有数千个文件具有相同的状态。

如果存在类似以下结构的Mongo查询:

代码语言:javascript
复制
db.getCollection('files').find( { 
    '$and': [ 
        { 'name': 'someFileName.csv' },
        { 'status': { '$in': [ 12, 6 ] } } 
    ] 
})

...would它的执行方式与格式化如下的相同查询有任何不同:

代码语言:javascript
复制
db.getCollection('files').find( { 
    '$and': [ 
        { 'status': { '$in': [ 12, 6 ] } }, 
        { 'name': 'someFileName.csv' }
    ] 
})

也就是说:$and子句参数的顺序重要吗?场景#1会比场景#2更好吗,因为理论上,文件名搜索会消除除少数几条记录之外的所有记录?还是蒙戈在掩护下以这种方式运作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-22 18:57:56

不,查询中字段的顺序并不重要。

此外,由于查询字段是隐式"anded",这些字段还相当于:

代码语言:javascript
复制
db.getCollection('files').find( { 
    'status': { '$in': [ 12, 6 ] }, 
    'name': 'someFileName.csv'
})

代码语言:javascript
复制
db.getCollection('files').find( { 
    'name': 'someFileName.csv',
    'status': { '$in': [ 12, 6 ] }
})

在确定执行查询的最佳方式时,查询分析器对它们都进行了相同的处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50993109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档