新集合还是嵌套数组?

时间:2014-11-02 07:09:27

标签: mongodb

假设我们有一个名为A的数据库.A的结构可以是:

1)A(a,b,c,d)。

a,b,c,d是集合。

每个集合中的元素类似于{_id:id,data:data}

2)A(k)。

k(a,b,c,d)

k是一个集合。和a,b,c,d是k内的元素。

a,b,c,d就像

{
    type : 'a / b / c / d', 
    data : [ 
        {_id : id1, data : data1 }, 
        {_id : id2, data : data2},
        ... 
    ]
}

日常操作是{get,insert element into} a,b,c和d的空元素。

哪一个在效率方面更好?

1 个答案:

答案 0 :(得分:1)

@ Markus-W-Mahlberg 对您的实际使用案例是正确的。

当您使用mongodb并且它使用的是文档而不是表格数据结构(例如ms-sql)时,您的两种方法都可以正常工作,如果您定义了正确的索引,您将获得相同的性能。 但在我看来,如果您的类型(a,b,c和d)具有不同的结构(不同的属性,不同的查询,不同的更新方案,聚合计划和...)使用 way1 < / strong>,另外明智地使用Way2和正确的索引。