0
傢伙嗨慢我有下面的MongoDB的多邊形內計數的方法:
public function countWithinPolygon($polygon, $tags = array())
{
// var_dump($polygon);
// var_dump($polygon->getPoints());exit();
$query = array(
'point' => array(
'$within' => array(
'$polygon' => $polygon->getPoints()->first()->toArray(true)
)
)
);
if($tags)
{
$query['tags'] = array(
'$all' => $tags
);
}
return parent::count($query);
}
對於某些查詢用少量的數據,這只是好的。在包含4000多個調用的較大數據集上,執行時間是非常可悲的,可能需要幾個小時。平均需要三個小時才能完成。任何想法或提示更好的方式來寫這個來節省時間和優化這個查詢?