【发布时间】:2014-10-02 15:23:34
【问题描述】:
我看到我的查询会变慢,情况是,那个学说正在做超过 6000 个查询来完成这个,我该如何解决?在单个查询中做什么?
$qb = $this->createQueryBuilder('u');
$qb->leftJoin('u.ratings','r','WITH','r.user=:user');
$qb->where('r.id is NULL and u.deleted !=1 and u.type != 5 and u.user!=:user')
->setParameter('user',$user);
return $qb->getQuery()
->getResult();
【问题讨论】:
-
请澄清,您运行该查询超过 6000 次?
-
只有一次,并且学说向服务器发出 6000 个请求...
-
问题是我认为加入或类似的事情,因为我猜它的工作原理是这样的“首先选择所有你,而不是为每个你选择 u.ratings”
标签: php performance doctrine-orm