MySQL 에서 일반적으로 사용되는 스토리지엔진은 MyISAM 과 InnoDB이다.

MyISAM이 default 스토리지엔진으로 사용된다.

각각의 스토리지엔진은 아래와 같은 장단점이 존재한다.

 

MyISAM

트랜잭션 지원 하지 않음

테이블 단위로 데이터가 저장된다

로우레벨 lock의 지원되지 않음

무결성이 보장되지 않음

table 퍼포먼스 속도가 InnoDB보다 빠르다

소규모 프로젝트에 적합하다. 

 

InnoDB

로우 레벨 lock 을 지원하며 이에따라 insert/update 성능이 MyISAM 보다 뛰어나다.

ACID (Atomicity, Consistency, Isolation and Durability) 속성을 제공한다.

외래키(Foreign Key)를 지원한다.

FullText 인덱싱 지원을 하지 않는다.

* FullText 인덱싱 : 값 전체를 인덱스로 사용

* table 단위의 데이터 저장이 아니기 때문에 SELECT COUNT(*) FROM table 은 전체테이블 rows를 스캔하게 된다.

  반면 MyISAM 은 table 단위로 저장되므로 이같은 경우엔 강점이 있다.

 

출처: What are the main differences between INNODB and MyISAM

 

 

※ MyISAM 은 어떻게 읽어야 할까?

https://lists.mysql.com/mysql/204267

 

 

 

 

반응형

'DB' 카테고리의 다른 글

데이터베이스 격리 수준 : Database Isolation level  (0) 2020.03.20

+ Recent posts