为什么要限制MySQL中GROUP_CONCAT结果的长度?

时间:2013-11-15 21:13:39

标签: mysql group-concat

将MySQL中的GROUP_CONCAT结果限制为1024的原因是什么?将此限制提高到更高的数字会有什么影响?

以下是如何提高它的示例: http://blog.georgeolah.com/2013/03/mysql-group_concat-limit/

有什么想法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

最好使隐藏配置变量的默认值太低而不是太高。

默认限制似乎有点低,但是当您获取单行时,这是为了防止应用程序的内存被过度分配。

如果您需要从数据库服务器获取更长的字符串,则可以随意引发group_concat_max_len

您仍然不应将group_concat_max_len设置为高于max_allowed_packet,否则字符串将被截断。

选择更高或更低group_concat_max_len值的另一个含义是,如果值为255或更小,则结果列的数据类型将为CHAR或BINARY。如果max len大于255,则数据类型为TEXT或BLOB。