MySQL innoDB 에서 Insert 하는 속도를 비약적으로 늘려야할 때가 있다.


기가바이트 단위의 덤프파일을 import 할때 인데.. 이때 빠른속도로 import 하는 방법이다.



1. innodb_flush_log_at_trx_commit 설정 값 확인.


MariaDB [(none)]> show variables like 'innodb_flush_log_at_trx_commit';

+--------------------------------+-------+

| Variable_name                  | Value |

+--------------------------------+-------+

| innodb_flush_log_at_trx_commit | 1     |

+--------------------------------+-------+

1 row in set (0.00 sec)


MariaDB [(none)]> 



 innodb_flush_log_at_trx_commit  값이 1인경우 insert 할때 로그파일을 기록한다. 이로인해 초당 3천건정도 insert할 내용을 30건정도 insert한다.

따라서 DB dump파일을 import 할때는 로그가 딱히 필요 없으므로 0 으로 설정한다.


2. innodb_flush_log_at_trx_commit 값을 0으로 변경


MariaDB [(none)]> set global innodb_flush_log_at_trx_commit=0;

Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> show variables like 'innodb_flush_log_at_trx_commit';

+--------------------------------+-------+

| Variable_name                  | Value |

+--------------------------------+-------+

| innodb_flush_log_at_trx_commit | 0     |

+--------------------------------+-------+

1 row in set (0.00 sec)


별 오류 없으면 된거고 다시 확인 해 봤을때 바로 변경이 안되어 있으면 mysql 재접속 하면 변경 되어있다.

굳이 확인하지 않고 import 해봐도 확연히 바뀐 속도를 확인 할 수 있다.




'Linux' 카테고리의 다른 글

centos samba 설치  (1) 2015.12.15
Centos ext4 mount 방법  (0) 2015.11.10
php5.3 source install (php-fpm)  (2) 2015.10.30
php soap 모듈 추가  (0) 2015.10.30
웹페이지를 빠르게! nginx pagespeed 설치  (5) 2015.10.30
Posted by pysany
,