如何优化这个mongo查询?

时间:2013-11-19 11:22:45

标签: mongodb

我在这里有一个简单的mongo查询,它使用聚合函数。在我的PHP脚本中加载10行需要1分38秒。如何优化此查询,因为它需要更少的时间。

$data = $mongo->command(
                                array(
                                    'aggregate' =>"my_collection",
                                    'pipeline' => array(
                                        array('$match' => $filter_query),
                                        array('$group' => array('_id'=>'$email')),
                                        array('$skip'=>$offset),
                                        array('$limit'=>10)
                                    )
                                ),
                                array( 'timeout' => "-1")
                            );

这是我的查询,filter_query是另一个

的数组
Array ( [event] => spamreport [timestamp] => Array ( [$gt] => 1384236000 [$lt] => 1384840800 ) ) 

此外,我还有一个查询可以找到像这样的

这样的不同值
$distinct_notifications = $my_collection->distinct('email',$filter_query);

加载不同的值需要永远。我的收藏量稍大,大约有20700144行。它正在日益增加。如果有人可以指出一个好的地图/减少教程,因为我是新手,这将是有帮助的。

0 个答案:

没有答案