스토리지 엔진
데이터베이스 시스템에서 데이터의 저장, 검색, 트랜잭션 관리, 동시성 제어, 캐싱 등 핵심을 담당하는 필수 구성 요소입니다.
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 우수 |
| 속도 | 쓰기 복잡, 읽기 우수 | 단순 읽기 빠름 |
'ZeroBase > CS' 카테고리의 다른 글
| 데이터베이스 데드락 - 발생 조건과 해결 방법 (0) | 2025.10.12 |
|---|---|
| 데이터베이스 정규화 - 이상 현상 해결과 정규형 (0) | 2025.10.12 |
| Clustered Index vs Non-Clustered Index (0) | 2025.09.30 |
| 데이터베이스 인덱스 - B-Tree와 성능 최적화 (0) | 2025.09.30 |
| 트랜잭션 격리 수준과 발생 가능한 현상 (0) | 2025.09.30 |