MongoDB文档中的字段排序是否会影响聚合查询性能?

MongoDB文档中的字段排序是否会影响聚合查询性能?,mongodb,aggregation-framework,query-optimization,query-performance,Mongodb,Aggregation Framework,Query Optimization,Query Performance,默认情况下,MongoDB按插入顺序返回字段 在MySQL中,通常我们保持: 首先是主键列 接下来是外键列 下一个经常搜索的列 类似地,在MongoDB中,我需要担心文档的字段顺序。我知道复合索引中列出的字段顺序很重要。除此之外,文档中的字段顺序是否会影响查询性能 以下是我尝试过的: 我用一个样本数据对其进行了测试,该样本数据包含1k个具有以下格式的文档: { "key": "A", "status": "

默认情况下,MongoDB按插入顺序返回字段

在MySQL中,通常我们保持:

  • 首先是主键列
  • 接下来是外键列
  • 下一个经常搜索的列
类似地,在MongoDB中,我需要担心文档的字段顺序。我知道复合索引中列出的字段顺序很重要。除此之外,文档中的字段顺序是否会影响查询性能

以下是我尝试过的:

我用一个样本数据对其进行了测试,该样本数据包含1k个具有以下格式的文档:

{
    "key": "A",
    "status": "To Do",
    "val": 4
  
},
{
    "key": "B",
    "status": "Done",
    "val": 1
  
}
并将
状态
字段移到顶部,因为它用于$match阶段

{
    "status": "To Do",
    "key": "A",
    "val": 4
  
},
{ 
    "status": "Done",
    "key": "B",
     "val": 1
}
并执行具有$match、$group和$project阶段的聚合查询

db.collection.explain("executionStats").aggregate([
  {
    $match: {
      status: "Done"
    }
  },
  {
    $group: 
  ...
  },
  {
    $project: 
  ...
  }

但我看不出有什么显著的区别。那么,是否有理由关心字段在文档中的顺序呢?

这与性能无关(SQL列顺序也是如此)。