相关疑难解决方法(0)

错误"1038超出排序内存,请考虑增加排序缓冲区大小

在symfony2,doctrine2中,我有一个触发错误的查询:

Error "1038 Out of sort memory, consider increasing server sort buffer size
Run Code Online (Sandbox Code Playgroud)

查询:

$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')
    ;
Run Code Online (Sandbox Code Playgroud)

如果我省略了分组,它运行得很好.如果我用较少的元素添加select和group,它也运行正常但是我在我的twig模板中启动了更多的子查询.

如何优化此查询以避免错误或通过分配更多内存(理想情况下仅用于此查询)来消除错误?

mysql sql symfony doctrine-orm

8
推荐指数
7
解决办法
1万
查看次数

标签 统计

doctrine-orm ×1

mysql ×1

sql ×1

symfony ×1