- 대응하고 있는 Lock레벨
- 대응하고 있는 인덱스의 종류
- 참조정합성
- 대응하고 있는 데이터형
- 테이블정의에 관한 상한값등의 제한
InnoDB:BTREE
MEMORY:BTREE, HASH
MyISAM:BTREE, FULLTEXT, GIS
이처럼 엔진에 따라서 완전히 기능의 유무가 나누어져있는 것만아니라 서포트하는 범위가 다른 것도 있다.
이 부분의 차이는 꽤 자세한 이야기가 됨으로 레퍼런스 매뉴얼을 참조하길 바란다.
이 처럼 복수의 스토리지엔진을 준비하고 있는 MySQL이지만 MySQL에서는 모든 스토리지엔진은 Handler API라고 하는 공통 인터페이스가 있다.
이것에 따라서 테이블마다 다른 스토리지엔진을 쓴다고 하지만 JOIN이나 UNION등의 테이블간의 처리를 실행하는 것도 가능하다.
또 난이도가 올라가는 이야기이지만 사용자도 Handler API를 사용할 줄 만 안다면 독자의 스토리지 엔진을 MySQL에 붙이는 것도 가능하다.
실제로 이런 구성을 이용한 OEM제품등도 존재한다.
최근 화제가 되고 있는 OEM제품으로 Solid Information Technology사의 solidDB등이 있다.