-
DB 서버에서 한번에 받아들일 수 있는 최대 쿼리 크기?Infra & Tools/MYSQL 2023. 8. 24. 15:10
my sql 의 서버에서 한번에 받을 수 있는 쿼리의 크기는 무제한이 아니다.
한번의 받을 수 있는 쿼리 크기를 확인 하는 명령어는 다음과 같다.
show variables where Variable_name = 'max_allowed_packet'
내 로컬 컴퓨터의 MYSQL 의 max_allowed_packet 의 값은 67MB 이다.
cf
1Byte * 10^3 = 1KB
1KB * 10^3 = 1MB
MySQL 5.7 ,8.0 공식 문서에 따르면 기본 사이즈의 크기는 최대 약 4MB,67MB 이며 , 패킷의 메시지 버퍼는 net_buffer_length 의 바이트 크기 만큼 초기화 되어서 사용이 된다.
각각의 클라이언트 스레드는 연결 버퍼와 결과 버퍼에 연관이 되어있으며 , 두개의 버퍼 크기 모두 net_buffer_length 로 부터 받은 크기로 시작이 되며, 동적으로 크기가 변형이 된다.
결과 버퍼의 경우 net_buffer_length 의 크기 만큼 sql 의 구문의 수행이후 다시 돌아온다.
net_buffer_length는 최대 1MB 의 크기 만큼 설정이 가능하다.
나의 경우 설치된 MySQL 의 버전은 8.0 으로 max_allowed_packet의 기본 값이 67MB 이며 최대 값은 Mysql 5.7 과 같은 1GB 이다.
정리 )
DB 서버에서 한번에 받아들일 수 있는 최대 쿼리 크기?의 답은 MySql 의 packet message buffer 의 크기에 달려 있고.
초기 설정은 net_buffet_length 의 크기로 시작이 되며 최대 버퍼의 크기는 max_allowed_packet 의 크기에 따라 설정이 된다.
출처:
8.0 공식 문서
https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_allowed_packet
5.7 공식 문서
https://dev.mysql.com/doc/refman/5.7/en/server-system-variables.html#sysvar_max_allowed_packet
'Infra & Tools > MYSQL' 카테고리의 다른 글
MySql 조회 성능 최적화를 위한 Index 의 이해(2) (0) 2023.09.14 MySql 조회 성능 최적화를 위한 Index 의 이해(1) (0) 2023.08.16 AWS RDS 무료 범위 정리 (0) 2023.06.17 Mysql 오류(RDS 접근, 엑세스 오류 등) (0) 2023.05.10 TIL-JS&MYSQL (0) 2022.06.04