0
MongoDB 2.0.7 & PHP 5如何提高这个MongoDB查询的速度?
我试图计算每个数组的长度。每个文档都有一个数组。我想获得每个数组中元素的数量和文档的ID。除了Id以外,没有索引。
这里是我的代码:
$map = new MongoCode("function() {
emit(this._id,{
'_id':this._id,'cd':this.cd,'msgCount':this.cs[0].msgs.length}
);
}");
$reduce = new MongoCode("function(k, vals) {
return vals[0];
}");
$cmmd = smongo::$db->command(array(
"mapreduce" => "sessions",
"map" => $map,
"reduce" => $reduce,
"out" => "result"));
这些都是计时。正如你所看到的,查询很慢
Array
(
[result] => result
[timeMillis] => 29452
[counts] => Array
(
[input] => 106026
[emit] => 106026
[reduce] => 0
[output] => 106026
)
[ok] => 1
)
我怎样才能减少计时?
使用2.2和聚合框架。 –
@JonathanOng请考虑到2.2尚不稳定。因此你不能只是说“使用2.2和聚合框架”的答案,直到2.2是稳定的,以及Stennies答案实际上比聚合框架更好。 – Sammaye