将group_concat_max_len增加到500000会导致性能问题吗?

时间:2016-11-18 11:30:00

标签: mysql group-concat

我安装了mysql 5.6。

我有一个查询,它使用group_concat将用户ID列表连接成一个带有','的字符串。我需要将group_concat_max_len的限制增加到500000.

会导致性能问题吗?为什么group_concat首先受到限制?我应该查询每一行并在服务器上连接它吗?

非常感谢有关该问题的任何信息。

1 个答案:

答案 0 :(得分:1)

文档说明The result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024. The value can be set higher, although the effective maximum length of the return value is constrained by the value of max_allowed_packet.

所以在这么多百分比中增加group_concat似乎不是正确的调用..首先,它意味着改变我以不同方式影响系统的其他系统变量

除此之外,它是一个只有一个group_concat查询的非常大的项目,因此我不想仅针对一个特定查询修改其他系统变量。

一般来说@Strawberry所说的是正确的,默认情况下该值设置为1024。可能是有充分理由的。

因此我将查询分为两个查询..

第一个,除了group_concat列之外还返回我需要的所有数据

第二个,返回我以前用于group_cocat的所有相关行。