嵌套哈希在mongodb中的性能影响是什么?

时间:2012-06-01 06:44:59

标签: mongodb mongoid mlab

因此,我有一组非常大的指标(15GB且不断增长),其中包含嵌套哈希值中的一些数据。像这样:

{
   _id: 'abc0000',
   type: 'foo',
   data: { a: 20, b: 30, c: 3 }
},
... more data following this schema...
{
   _id: 'abc5000',
   type: 'bar'
   data: { a: 1,  b: 2,  c: 4, d: 10 }
}

在嵌套哈希上运行查询时,性能影响是什么?哈希中的数据无法编入索引......或者更确切地说,索引它是没有意义的。

我总是可以将数据改为平面样式data_adata_b等......

1 个答案:

答案 0 :(得分:1)

您可以在嵌套哈希中为属性创建索引。有关详细信息,请查看Indexing with dot notation。您也可以根据需要创建复合索引,但要小心caveats with parallel arrays。基本上,如果你创建一个复合索引,只有一个索引值可以是数组,但是,这不应该影响你(从发布的模式判断)。

因此,您可以根据需要在data.adata.bdata.a, data.c创建索引。