错误"1038内存不足,请考虑增加排序缓冲区大小 [英] Error "1038 Out of sort memory, consider increasing sort buffer size
本文介绍了错误"1038内存不足,请考虑增加排序缓冲区大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在symfony2(教义2)中,我有一个查询会触发错误:
In symfony2, doctrine2, I have a query which triggers an error :
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')
;
如果我省略分组依据,它运行得很好. 如果我添加select和group by较少的元素,它也可以正常运行,但是在我的树枝模板中启动了更多的子查询.
If I omit the group by, it runs just fine. If I add select and group by less elements, it runs fine also but then I have more subqueries launched in my twig templates.
我该如何优化该查询以使其不出现错误,或者通过分配更多内存(理想情况下仅用于此查询)来消除该错误?
How can I either optimize this query to not have the error OR get rid of the error by allocating more memory (ideally just for this query) ?
推荐答案
您可能需要在/etc/mysql/my.cnf
中设置
sort_buffer_size to 256K
这篇关于错误"1038内存不足,请考虑增加排序缓冲区大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文