MySQL INNODB 에서 INSERT 속도 느린 문제



루프문으로 여러건을 테이블에 insert 할 때 속도 너무 느리다면 아래의 글로벌 변수를 확인해보세요.


show variables like 'innodb_flush_log_at_trx_commit';


이 값이 1 로 나온다면 0 이나 2 로 설정하시면 됩니다.


set global innodb_flush_log_at_trx_commit = 2;



innodb_flush_log_at_trx_commit 에 대한 설명은 아래를 참고하세요.


https://dev.mysql.com/doc/refman/5.7/en/innodb-parameters.html#sysvar_innodb_flush_log_at_trx_commit


innodb_flush_log_at_trx_commit



1 : 기본값

0 : mysqld 가 crash 되면 최대 초당 트랜젝션이 손실 될 수 있음.

2 : crash 되거나 정전시 두번째 트랜젝션을 잃을 수 있음.


1이 아니면 데이터가 손실될 수 있다는 이야기네요~


loop 돌리기 전에 0 또는 2 로 설정하고 loop 가 끝나면 다시 1 로 설정하면 되겠습니다.


블로그 이미지

iVPS 영은파더♥

가상서버호스팅 VPS 리눅스 서버관리 윈도우 IT

댓글을 달아 주세요