[mysql] sort_buffer_size 설정
- mysql 쿼리 에러 메시지
Out of sort memory, consider increasing server sort buffer size
- 에러원인
sort_buffer_size가 너무 적어서 생기는 문제
myslq의 기본 sort_buffer_size 크기는 256kb
sort_buffer_size 를 1MB 이상으로 설정한다.
- 설정 파일(my.ini , my.cnf) 수정
sort_buffer_size=1M
//-------------------------------------
- 성능 상태값 sort_merge_passes 과의 관계
sort_merge_passes가 높을 수록 성능이 낮은 상태
sort_buffer_size의 설정값을 높여서 sort_merge_passes값을 낮추어야 한다.
- sort_merge_passes 값 확인
SHOW GLOBAL STATUS like "sort_merge_passes";
SHOW SESSION STATUS like "sort_merge_passes"; <== 항상 0
//-------------------------------------
* sort_buffer_size 설정
- 확인
show GLOBAL variables like "sort_buffer_size";
- 설정
SET GLOBAL sort_buffer_size = 4024024;
- 테스트 결과 4MB정도가 적당한듯
//
sort_buffer_size(kb) | sort_merge_passes |
500 | 96 |
1000 | 37 |
2000 | 18 |
4000 | 6 |
11000 | 3 |
//