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
1 : 기본값
0 : mysqld 가 crash 되면 최대 초당 트랜젝션이 손실 될 수 있음.
2 : crash 되거나 정전시 두번째 트랜젝션을 잃을 수 있음.
1이 아니면 데이터가 손실될 수 있다는 이야기네요~
loop 돌리기 전에 0 또는 2 로 설정하고 loop 가 끝나면 다시 1 로 설정하면 되겠습니다.
'IT이야기' 카테고리의 다른 글
XenServer ISO 이미지 마운트 하기 (0) | 2017.07.30 |
---|---|
XenServer 설치 (0) | 2017.07.28 |
MySQL mysql vs mysqli vs pdo Benchmark Test (0) | 2017.07.27 |
MySQL mysqli 함수 샘플 (0) | 2017.07.26 |
MySQL 인덱스 없는 조인이 너무 많습니다 (0) | 2017.07.13 |