728x90
반응형
쿼리를 사용하면서 group_concat을 종종 사용하는 경우가 있다.
서브쿼리 사용시 결과를 그룹핑 할때 또는 row의 데이터를 한 결과 값으로 표시하는 경우 사용을 한다.
그런데 group_concat에는... 제한이 있다....
머 당연한거지만....
기본적으로 mysql5.7에서 확인해보면 group_concat 의 값이 1024[1M]로 세팅이 되어 있다.
SHOW VARIABLES LIKE 'group_concat_max_len'; /* 길이 확인 */
group_concat 사용시 데이터 양 및 SEPARATOR에 따라 길이가 길어 질수가 있다... 대부분은 데이터 양이라고 보면 된다.
암튼... 이거 때문에 데이터가 짤리다 보니 필요한 정보를 다 가지고 오지 못하는 상황이 발생 ㅜ.ㅜ
반응형
이걸 해결 하는 방법은 2가지가 있다.
1. mysql 설정 파일에서 변경해야 한다.. 다만 그러면 서버 재시작은 필수
my.ini 또는 my.cnf에 group_concat_max_len=4M 부분을 추가
2. 운영중임 상태에서는 set global을 통해서 적용하면 된다.
SET GLOBAL group_concat_max_len = 1024*5; /* 길이 변경*/
또는
SET GLOBAL group_concat_max_len = 5120; /* 길이 변경*/
위의 방법으로 하면 group_concat 사용시 데이터 짤릴일이 없다...
이보다 압서 group_concat을 쓸때 distinct를 사용부터!!!
728x90
반응형
'DB > Mysql' 카테고리의 다른 글
mysql5.6 timezone 설정 (0) | 2024.01.23 |
---|---|
[mysql 5.7.x] zip 설치시 The Servcie already exists! 문제 (0) | 2021.10.15 |
[mysql ] concat null 주의 (0) | 2021.08.10 |
[mysql-ERROR 1819 (HY000)]Your password does not satisfy the current policy requirements (0) | 2021.06.17 |
mysql index 추가,삭제, 확인하기 (0) | 2020.07.28 |