MySQL에서는 아래와 같은 여러 스토리지 엔진을 지원한다.
InnoDB 엔진
MyISAM 엔진
Memory 엔진
Archive 엔진
CSV 엔진
Federated 엔진
MySQL의 스토리지 엔진으로 가장 많이 사용하는 엔진으로는 InnoDB와 MyISAM이 있다.
InnoDB 엔진은 트랜잭션 처리가 필요하고 대용량의 데이터를 다루는 부분에서 효율적이고,
MyISAM 엔진은 트랜잭션 처리가 필요 없고, Read only 기능이 많은 서비스일수록 효율적이다.
한줄로 정리하면, InnoDB는 데이터의 변화가 많은 서비스에, MyISAM은 SELECT가 많은 서비스에 적합하다 할 수 있다.
용도에 따라 InnoDB나 MyISAM 스토리지 엔진을 결정하는데, InnoDB와 MyISAM 테이블을 같이 사용할 경우, 조인시 주의해야한다.
스토리지 엔진이란?
데이터베이스 엔진(database engine) 또는 스토리지 엔진(storage engine)은 데이터베이스 관리 시스템(DBMS)이 데이터베이스에 대해 데이터를 삽입, 추출, 업데이트 및 삭제(CRUD 참조)하는 데 사용하는 기본 소프트웨어 컴포넌트이다.
➡️ DBMS에 포함되는 컴포넌트로 CRUD를 담당한다. 한 DBMS에 여러 종류의 스토리지 엔진이 존재할 수도 있다.
MySQL 5.5 이전까지 기본 스토리지 엔진이다.
MySQL 5.5 이후부터 기본 스토리지 엔진이다.
HEAP 테이블이라고도 부르며 메모리에 데이터를 저장하는 엔진이다.
참고문헌
https://velog.io/@gillog/DBInnoDB-VS-MyISAM
https://velog.io/@yangsijun528/MySQL-%EC%8A%A4%ED%86%A0%EB%A6%AC%EC%A7%80-%EC%97%94%EC%A7%84