GROUP_CONCATは使用しない方が良い? 止むを得ず使用する場合はシステム変数を変更しない方が良い?
現状
・GROUP_CONCATで文字が切れました
対応
・group_concat_max_len を再度設定し直しました
※過去に一度、文字が切れたためgroup_concat_max_len の値を変更したことがあります
結果
・文字が全て表示されるようになりました
質問1
・文字が切れる度に設定し直すのは手間なので、group_concat_max_len の最大設定値を一気に設定したいです
・下記のように掲載されていますが、これはつまり、max_allowed_packet の値に依存している、ということでしょうか?
・max_allowed_packet の最大設定値は?
戻り値の有効な最大長は、max_allowed_packet の値によって制約されます
質問2
・group_concat_max_lenの値を設定する際、max_allowed_packet の値を取得して書けないでしょうか?
SET GLOBAL group_concat_max_len = 「ここに直接 get max_allowed_packet みたいな感じで書きたい」
質問3
・「group_concat_max_len」や「max_allowed_packet」などの「システム変数」を変更することの動作原理が良くわかっていないため操作が若干怖いのですが、何らかの悪影響が出ることはあるでしょうか?
・メモリを割り当てているだけ?
・「値を大きくしても不具合が出ることはない」?
・「変更できるのだったら問題ない」という感じでしょうか?
・そもそも無理な割り当てはできない?
・MySQL全体のメモリを調査して(どうやって?)、それの何%を割り振る、といった感じでしょうか?