가장 넓리 사용되는 Storage Engine 중 MyISAM과 InnoDB를 빼놓을 수는 없을 것입니다. 각각의 장점과 단점, 그리고 가장 큰 차이점은 무엇인지 알아보도록 하겠습니다. 우선 이 둘이 무엇인지 간략하게 알아봐야겠죠.

먼저 일반적인 기업에서는 아무래도 복구 등의 기능을 가진 트랜잭션(Transaction)이 매우 중요하기 때문에 InnoDB를 사용하는 곳이 많을 것입니다. 특히 쇼핑몰처럼 많은 쿼리가 발생할 경우 InnoDB를 선호할 수 있다하겠습니다.


1. MyISAM
- ISAM의 업그레이드된 엔진임
- 단순한 기능을 제공하는 대신 빠른 속도를 제공한다. (특히 Select문 반복사용시)
- 무결성에 대한 보장이 되지 않는다.
- 풀텍스트 인덱싱이 가능하다.
- 테이블 단위의 락이 이루어짐


2. InnoDB
- 다양한 트랜젝션(Transaction) 기능을 제공한다. 커밋, 롤백, 외래키등의 사용이 가능하다.
- 조회보다는 쓰기, 수정등의 변경작업이 상대적으로 빠르다.
- 무결성 보장이 된다.
- 로우 단위의 락이 이루어짐


참고로 두 가지 기능을 모두 사용하는 것 역시 가능하다고 합니다. 하지만 그에 따른 관리적인 사항들이 늘어나기 때문에 가장 적합한 하나의 엔진을 선택하는 것이 가장 좋은 방법이라 하겠습니다.

그럼 MyISAM과 InnoDB, 둘 중 어떤 것을 사용하는 것이 더 효과적일까요? 많은 분들이 궁금해 하시겠지만 각각의 장단점이 존재하므로 제공하는 웹서비스의 상황을 고려하여 가장 적합한 엔진을 선택하는 것이 정답이라고 할 수 있을 것 같습니다.