상세 컨텐츠

본문 제목

MySQL 스토리지 엔진 - InnoDB, Myisam

IT

by 조응지 2021. 11. 14. 19:07

본문

MySQL은 데이터가 저장되는 형식에 따라 여러가지 엔진이 존재한다.

그 중 대표적으로는 InnoDB와 Myisam이 있다.

 

- Myisam

파일이 테이블 단위로 되어있기 때문에 속도가 굉장히 빠르다.

테이블에 항상 ROW COUNT를 가지고 있기 때문에 SELECT문에서 속도가 빠르다.

하지만, 속도가 빠른 이점은 order by를 쓰는 순간 사라진다.

또한, 모든 데이터 문자열의 단어를 저장하는 풀텍스트 인덱스를 지원한다. 

 

row level이 아니라 table level locking을 지원하여 select, insert, update, delete 실행 시 table 전체에 lock이 걸려버린다.

또한 row 수가 커질 수록 속도가 느려진다.

트랜잭션을 지원하지 않아 롤백 할 수 없다.

- InnoDB

row level locking을 지원하여 작업하고 있는 행에만 락을 걸어 동시에 DML작업을 해도 쿼리가 밀리지 않는다.

또한, 트랜잭션을 지원하기 때문에 DML이 많은 경우에 사용하기 적합하다.

 

 

 

트랜잭션 처리가 필요하고 대용량 데이터를 다루기엔 InnoDB가 효율적이고 

Read Only 기능이 많을때에는 Myisam이 효율적이므로 테이블의 목적에 맞춰 사용하면 좋을 것 같다.

'IT' 카테고리의 다른 글

VirtualBox 이용해서 Ubuntu 설치하기  (0) 2022.01.23
Linux 명령어 - 우분투 사용  (2) 2022.01.09
[JQuery] HTML5의 Custom data selector  (2) 2021.12.12
OG(Open Graph)  (0) 2021.11.21
DBCP(Database Connection Pool)  (0) 2021.11.14

관련글 더보기