如何在 MongoDB 和 PHP 中的 Map Reduce 查询中使用说明
Posted
技术标签:
【中文标题】如何在 MongoDB 和 PHP 中的 Map Reduce 查询中使用说明【英文标题】:How to use explain on a Map Reduce query in MongoDB and PHP 【发布时间】:2012-07-16 10:02:23 【问题描述】:我正在使用 explain 进行简单查询以准确了解执行时间。
$this->db->toto->find($req)->sort(array('date' => 1))->explain();
我现在想在地图上使用解释并减少查询,该怎么做? 我应该使用“经典”分析系统吗?
我正在尝试比较这两个查询的执行时间。
例如:
$res = $this->db->command(array(
"mapreduce" => "toto",
"map" => $map,
"reduce" => $reduce,
"finalize" => $finalize,
"query" => $req,
"out" => array("inline"=>1)
))->explain();
不起作用,因为命令返回一个数组(说明需要 MongoCursor)。
非常感谢:)
【问题讨论】:
【参考方案1】:Explain 不适用于 map/reduce 之类的命令。您可以做的就是对您正在使用的查询运行解释。
如果您只需要执行时间,您可以运行 m/r 并对其计时。这就是 explain 决定执行时间的方式。
【讨论】:
以上是关于如何在 MongoDB 和 PHP 中的 Map Reduce 查询中使用说明的主要内容,如果未能解决你的问题,请参考以下文章
mongodb使用map reduce从其他集合中插入嵌入文档海量集合
mongodb有关系数据库中的trigger和procedure等属性吗?