我们有安装了mariadb的centos 7机器。
当我跑步时:
SELECT h.id,
h.name,
group_concat(distinct d.name ORDER BY d.name SEPARATOR " ") AS descriptions
FROM inventar h
LEFT JOIN descriptions d ON(FIND_IN_SET(d.id, h.description_id) > 0) GROUP BY h.id,h.description_id
ORDER BY h.name asc;
错误5(HY000):内存不足(需要65535816字节)
我读到它可能限制了临时表的大小。
我检查了尺寸:
MariaDB [wexac_hosts]〉显示像" % table_size %"这样的变量;
| 变量_名称|价值|
| - ------| - ------|
| 最大堆表大小|小行星1048576|
| 临时磁盘表大小|小行星18446744073709551615|
| 临时内存表大小|小行星12572426240|
| 临时表大小|小行星12572426240|
它比65535816字节大。
我应该增加哪个mariadb变量?
1条答案
按热度按时间cqoc49vn1#
如果
GROUP_CONCAT
内存不足,则需要增加group_concat_max_len
。从
GROUP_CONCAT
文档中:返回的最大长度(以字节为单位)由group_concat_max_len服务器系统变量确定,默认值为1M(〉= MariaDB 10.2.4)或1K(〈= MariaDB 10.2.3)。