ZeroBase/CS

MySQL 스토리지 엔진(InnoDB vs MyISAM)

Red_Horse 2025. 10. 16. 00:32

스토리지 엔진

데이터베이스 시스템에서 데이터의 저장, 검색, 트랜잭션 관리, 동시성 제어, 캐싱 등 핵심을 담당하는 필수 구성 요소입니다.

 

MySQL의 스토리지 엔진

  • InnoDB: MySQL 8.0의 기본 스토리지 엔진
  • MyISAM: 이전 버전의 기본 엔진, 현재도 선택 가능
 
-- 스토리지 엔진 확인
SHOW TABLE STATUS WHERE name = 'users';

-- 테이블 생성 시 엔진 지정
CREATE TABLE users (
    user_id INT PRIMARY KEY,
    username VARCHAR(50)
) ENGINE=InnoDB;  -- 또는 ENGINE=MyISAM

 

InnoDB vs MyISAM 차이

특성 InnoDB MyISAM
트랜잭션 지원 (ACID) 미지원
락 레벨 행 레벨 락 (Row-level) 테이블 레벨 락 (Table-level)
외래 키 지원 미지원
동시성 높음 (읽기/쓰기 동시 가능) 낮음 (쓰기 시 전체 잠금)
데이터 무결성 높음 낮음
크래시 복구 자동 복구 수동 복구 필요
전문 검색 제한적 FULLTEXT 우수
속도 쓰기 복잡, 읽기 우수 단순 읽기 빠름