在散列索引集合字段上缓慢distinct()MongoDB查询

时间:2016-06-20 21:30:36

标签: mongodb performance optimization distinct

我收集了5500万行,我希望能够db.collection.distinct(foo),但这很慢。 在这种情况下," foo"只有一个值。通过整个系列,所以我希望它快。

我添加了一个索引(foo: "hashed"),但它仍然是~30秒,即使只有一个值

我是否必须使用非散列索引来获得合适的速度,或者我是否缺少其他方面?

编辑:我还尝试了一个b-tree索引,它根本无法提高速度。 { "values" : [ "foo" ], "stats" : { "n" : 55316753, "nscanned" : 55316753, "nscannedObjects" : 0, "timems" : 14783, "cursor" : "BtreeCursor baz_1" }, "ok" : 1 }

1 个答案:

答案 0 :(得分:0)

这已通过升级到MongoDB 3.0(之前我运行的是2.4.9)得到修复。