1

実行時間を正確に知るために、説明を使用して簡単なクエリを実行していました。

    $this->db->toto->find($req)->sort(array('date' => 1))->explain();

私は今、マップ上で説明を使用してクエリを減らしたいと思っています。それを行う方法は? 「従来の」プロファイリング システムを使用する必要がありますか?

これら2つのクエリの実行時間を比較しようとしています。

元:

    $res = $this->db->command(array(
        "mapreduce" => "toto",
        "map" => $map,
        "reduce" => $reduce,
        "finalize" => $finalize,
        "query" => $req,
        "out" => array("inline"=>1)
    ))->explain();

コマンドが配列を返すため機能しません (MongoCursor が必要であることを説明してください)。

どうもありがとう:)

4

1 に答える 1

2

Explain は map/reduce のようなコマンドでは機能しません。あなたができるビートは、使用しているクエリで Explain を実行することです。

実行時間が必要な場合は、m/r を実行して時間を計ることができます。これが Explain が実行時間を決定する方法です。

于 2012-07-16T10:25:41.450 に答える