Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 디자인패턴
- spring cloud
- Transaction Pattern
- 디자인 패턴
- MSA
- Parallel Old GC
- 사가 패턴
- 키클락
- 체인 패턴
- spring batch
- Resilinece4j
- java 정렬
- 스레드
- 멀티스레드
- JPA
- 배치
- 스프링 배치
- 타입스크립트
- Spring Boot Actuator
- Spring Cloud Netfilx Eureka
- saga pattern
- Java
- The law of Demeter
- thread
- TypeScript
- zipkin
- 알고리즘
- Action Pattern
- 생산자 소비자 패턴
- Serial GC
Archives
- Today
- Total
PSD( Private-Self-Development )
[MYSQL] InnoDB VS MyISAM 본문
InnoDB, MyISAM?
Mysql 의 스토리지 엔진의 종류이다.
대부분 InnoDB 를 사용하지만, 각각 장단점이 있기에 알아두자!
InnoDB
장점
- 트랜젝션에 안전하다.
때문에 그에 따른 많은 기능을 제공한다. ex ) commit, rollback, 장애복구, row-level locking, 외래키 등 - 다수의 사용자 동시 접속 에 유리
- 대용량 데이터 처리에 유리
- CPU 효율 우수
- 자체적으로 메인 메모리 안에 데이터 캐싱, 인덱싱을 위한 버퍼 풀을 관리
단점
- 풀텍스트 인덱스를 지원하지 않는다.
풀텍스트 인덱스?
검색 엔진과 같이 모든 데이터 문자열의 단어를 인덱스로 저장한다.
MyISAM
장점
- 풀텍스트 인덱스 지원
때문에 검색 능력이 우수하다. - 항상 테이블에 Row Count 를 가지고 있다.
단점
- row level locking 미지원
CRUD 시 해당 Table 전체에 Locking이 걸린다.
때문에 row 가 많아지면 속도가 엄청나게 저하된다.
결론
트랜젝션 처리가 필요 없고, Read Only 기능이 많은 서비스 => MyISAM
대용량 대규모 CRUD 모두 많다면 => InnoDB
참조
'Backend > DB' 카테고리의 다른 글
저장 프로시저(Stored Procedure) 란? (0) | 2023.02.07 |
---|