在Symfony2和Doctrine2中,我有一个查询会触发错误:
如果我省略group by,它就可以正常运行。 如果我添加select和group by的元素较少,它也可以正常运行,但是在我的twig模板中会启动更多的子查询。
如何优化此查询以避免错误,或通过分配更多内存(理想情况下仅针对此查询)来消除错误?
Error "1038 Out of sort memory, consider increasing server sort buffer size
查询:
$queryBuilder = $this
->createQueryBuilder('object')
->leftJoin('object.objectCategory', 'c')
->leftJoin('object.medias', 'm')
->leftJoin('object.recipients', 'r')
->leftJoin('object.answers', 'a')
->leftJoin('object.tags', 't')
->leftJoin('object.user', 'u')
->leftJoin('object.votes', 'v')
->leftJoin('object.comments', 'comments')
->leftJoin('v.user', 'vuser')
->addSelect('c, t, v, u')
->groupBy('object, c, t, v, u')
->where('object.isVisible = :isVisible')
->orderBy('object.createdAt', 'DESC')
->setParameter('isVisible', true)
->addSelect('SUM(v.value) AS HIDDEN vote_value')
->orderBy('vote_value', 'DESC')
;
如果我省略group by,它就可以正常运行。 如果我添加select和group by的元素较少,它也可以正常运行,但是在我的twig模板中会启动更多的子查询。
如何优化此查询以避免错误,或通过分配更多内存(理想情况下仅针对此查询)来消除错误?