• Home
  • About
    • lahuman photo

      lahuman

      열심히 사는 아저씨

    • Learn More
    • Facebook
    • LinkedIn
    • Github
  • Posts
    • All Posts
    • All Tags
  • Projects

MYSQL의 Storage Engines 에서 가장 많이 사용되는 MyISAM과 InnoDB 장/단점

07 Nov 2017

Reading time ~1 minute

MyISMA VS InnoDB

1. MyISMA

MyISMA 의 특징은 non-transactional-safe(트랜잭션 기능 제공 안 함)와 데이터 모델 디자인이 단순하다는 것이다.

장점

  • 단순한 디자인으로 인해 따라서 Select 작업 속도가 빠르고 많은 읽기 작업에 적합하다.
  • Full-text 인덱싱이 가능하여 검색하고 하는 내용에 대한 복합 검색도 가능하다.
  • 테이블 단위로 물리 파일이 존재하여 백업 & 복구가 쉽다.
    1. .frm - 테이블 정의 파일
    2. .MYD - 테이블 데이터 파일
    3. .MYI - 테이블 인덱스 파일

단점

  • Table-Level Lock 사용으로 쓰기 작업이 느리고 다음과 같은 문제가 있다.
    1. SELECT (진행 중), Update(대기 중) 일 경우에 해당 테이블에 대한 SELECT 작업도 함께 LOCK이 걸린다.
  • 데이터 무결성이 보장되지 않는다.
  • 트랜젝션 기능 제공 안 한다.

2. InnoDB

InnoDB는 트랜잭션 기능을 제공하고 Row-level locking, 외래 키 지원, 장애 복구 등의 다양한 기능을 지원한다.

장점

  • Row-level Lock 사용으로 변경 작업이 빠르고 해당 ROW를 제외한 동시 처리가 가능하다.
  • 데이터 무결성 보장한다.
  • 제약조건, 외래 키 생성, 동시성 제어 등 가능하다.

단점

  • Full-text 인덱싱 불가능하다.
  • MyISAM에 비해 시스템 자원을 많이 사용한다.

참조

  • MyISMA WIKI
  • Mysql Storage Engine의 양대산맥! MyISAM vs InnoDB
  • 15.2 The MyISAM Storage Engine


mysqlstorage Share Tweet +1