当我对庞大的数据集执行分组操作时,Mongo Db超时

时间:2018-11-06 07:58:29

标签: php mongodb doctrine

我所拥有的是剪贴数据,这些数据可能在mongo数据库中保存了超过一百万条记录。每次我要求数据时,我想做的就是按照电话号码对大量数据进行分组,并汇总此人拥有的列表的数量。

$data = $builder
        ->group()
        ->field('_id')->expression('$phone')
        ->field('listings')->sum(1)
        ->sort('listings', -1)
        ->match()
        ->field('listings')->gt(1)
        ->execute(array('allowDiskUse'=>true))->toArray();

问题在于,由于该函数执行大量处理操作,因此该函数现在超时并且不返回任何数据。因此,有没有一种方法可以执行此查询而不会导致性能问题或超时呢?对于使用队列,有一些建议,但我以前从未使用过,也不知道从哪里开始。而且使用队列是最好的方法吗?

0 个答案:

没有答案