InnoDB 엔진은 MySQL 5.5 이후에는 기본 스토리지 엔진입니다. 최근에는 다른 엔진보다 자주 사용되고 있습니다.
1. innodb_file_per_table
shared 테이블 스페이스(innodb_file_per_table = OFF) 혹은 분리된 .idb 파일에 각각 테이블(innodb_file_per_table= ON
)로 각각 데이터와 인덱스를 저장한다는 것을 의미한다. 테이블 별로 하나의 파일을 가지는 것은 테이블을 drop, truncate, rebuild할 때마다 공간을 다시 확보할 수 있다. 이것은 예를 들면 압축과 같은 고급 기능을 위해 필요하기도 하다. 그러나 성능상은 어느 이점도 없다. MySQL 5.6 부터는 Default 값이 ON 이다. 그 이전 버전에서, 새로 생성되는 테이블에 대해서만 이렇게 생성하려면 ON으로 셋팅해야 한다.
2.
innodb_flush_log_at_trx_commit
기본 셋팅인 1은 InnoDB가 ACID 를 완전히 준수하는 것을 의미한다. 데이터베이스 안전이 가장 중요한 경우 최고의 셋팅값이 될 수 있다. 그러나 느린 디스크와 함께 성능 저하를 겪을 수 있다.
3.
innodb_flush_method
이 설정은 데이터와 로그를 disk 에 플러시하는 것에 관련된 설정이다. 배터리 protect, write-back cache가 있는 RAID 컨트롤러 하드웨어에서는 0_DIRECT 값이 적당하다.
4. innodb_log_buffer_size
이 값은 아직 commit 되지 않은 트랜잭션을 위한 buffer 사이즈이다. 기본적인 값 1 MB는 일반적으로 적당하다. 그러나 large blob / text field 등의 트랜잭션을 많이 사용한다면 증가시키는 것이 좋다.
BY 윤성용
'2. DBMS이야기 > 02. MySQL' 카테고리의 다른 글
MySQL 설치 후 최적화 (query_cache_size, log_bin, skip_name_resolve) (0) | 2014.08.28 |
---|---|
MySQL 설치 후 최적화 - Basic Setting TOP 3 (0) | 2014.08.28 |
MySQL 쿼리 예시(1) (0) | 2014.08.07 |
MySQL에서 새 user를 생성하고 permission을 부여하는 방법 (0) | 2014.08.04 |
The MEMORY (HEAP) Storage Engine (1) (0) | 2014.07.03 |