
--default_storage_engine 옵션은 MySQL 서버에서 기본적으로 사용할 스토리지 엔진을 지정하는 옵션입니다.
InnoDB는 ACID를 지원하는 transactional 스토리지 엔진으로, 데이터 무결성을 보장하고 row-level locking을 지원합니다. 반면, MyISAM은 non-transactional 스토리지 엔진으로, 데이터 무결성을 보장하지 않으며 table-level locking만 지원합니다.
InnoDB를 기본 스토리지 엔진으로 설정하는 방법은 MySQL 서버의 my.cnf 파일을 수정하여 default_storage_engine 옵션을 InnoDB로 설정하는 것입니다.
예를 들어, my.cnf 파일에 다음과 같이 추가할 수 있습니다.
이러한 설정을 적용하려면 MySQL 서버를 재시작해야 합니다.
InnoDB를 사용해야 하는 상황은 다음과 같습니다.
- 데이터 무결성을 보장해야 하는 경우
- row-level locking이 필요한 경우
- transactional 기능이 필요할 때
반면, MyISAM을 사용해야 하는 상황은 다음과 같습니다.
- 데이터 무결성이 중요하지 않은 경우
- 테이블이 매우 큰 경우 (InnoDB는 테이블 크기에 따라 성능이 저하될 수 있음)
- 테이블이 읽기 전용인 경우 (MyISAM은 읽기 전용으로 사용할 때 성능이 좋음)
2025-03-19 19:11