因此,我有一组非常大的指标(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_a
,data_b
等......
答案 0 :(得分:1)
您可以在嵌套哈希中为属性创建索引。有关详细信息,请查看Indexing with dot notation。您也可以根据需要创建复合索引,但要小心caveats with parallel arrays。基本上,如果你创建一个复合索引,只有一个索引值可以是数组,但是,这不应该影响你(从发布的模式判断)。
因此,您可以根据需要在data.a
,data.b
或data.a, data.c
创建索引。