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 로 설정하면 되겠습니다.


반응형

'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
블로그 이미지

영은파더♥

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

,