WEB/MySQL

[MySQL] 스토리지엔진 innoDB와 MyiSAM

Ezcode 2015. 3. 19. 11:58



데이터 접근의 방식이 다르다.


InnoDB와 MyiSAM이외에도 Cluster(NDB), Archive, Federated등의 타입이 있다.


MyiSAM은 Full-Text 인덱스를 지원하고 인덱스에 메모리 캐시를 지원하지만

트랜잭션은 미지원, 컬럼의 변경이나 삭제 등등의 기능은 좋지 못하지만 데드락은 예방할 수 있다.


InnoDB는 ACID 트랜잭션을 지원하지만 MyiSAM보다 로드가 느리다.

데이터 압축이 불가능하지만 에러복구기능이 있다


Cluster(NDB)

트랜잭션 지원, 매우 빠른 속도, PK사용시 최상의 속도


Archive

5.0부터 추가된 엔진, 자동 데이터 압축이 되지만 Insert와 Select만 가능하고

타 엔진보다 공간 절약이 좋다


Federated

5.0부터 추가되었으며 분산 데이터베이스 환경에 사용




정리하자면 

MyiSAM은 빠른속도, 트랜잭션 미지원, 웹서비스가 크지 않다면 MyiSAM을 쓰는것이 좋다.

InnoDB는 느리지만 트랜잭션 지원, Oracle 처럼 많은 기능이 있고

다수의 사용자 동시접속과 대용량 처리할때 최대의 퍼포먼스를 내도록 설계되어 대형 사이트에 적합하다.




추가 InnoDB 테이블 스페이스

MyiSAM과는 다르게 InnoDB는 테이블과 인덱스를 테이블 스페이스라는 곳에 저장한다.