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