본문 바로가기

CS/DataBase

(MySQL) MyISAM Storage 엔진

MyISAM 스토리지는 MySQL 3.23 버전이후에 디폴트 스토리지 엔진이었다. 하지만 MySQL 5.5 버전 이후에는 InnoDB로 대체되었다.


전반적인 특징은 가볍고 좋은 퍼포먼스를 내는 non - transction 엔진이다.

또한 시스템간의 복사가 쉬우며 data footprint가 작다.

 

MyISAM 스토리지의 특징

  • MyISAM 스토리지는 두가지 파일로 디스크에 저장된다.
    • 파일의 이름은 테이블의 이름으로 시작하는 네이밍을 가지고 파일 형식을 나타내는 확장자를 가진다.
    • 데이터 파일 확장자 : .MYD
    • 인덱스 파일 확장자 : .MYI

MyISAM 스토리지 테이블을 만들기 위한 명령어

CREATE TABLE t (i INT) ENGINE = MYISAM;

이렇게 명시하는 이유는 이전에 언급하였드시 명시를 안하면 Default인 InnoDB가 엔진으로 선택되기 때문이다.

 

  • 트랜젝션을 지원하지 않는다.
  • FK를 지원하지 않는다.
  • FULLTEXT indexexes를 지원한다.
  • 256TB의 스토리지 용량을 제공한다.
  • 테이블당 64개의 인덱스를 가지며 32개의 컬럼을 가질 수 있다. (이때 인덱스의 길이는 1000 바이트)
  • 모든 데이터는 우선적으로 낮은 바이트를 저장된다.
    • 이러한 저장 방식은 data machine 과 operation System을 독립적으로 만든다.
    • 낮은 바이트를 우선적으로 저장하는 방식은 속도 측면에서 패널티가 거의 없다.
  • 모든 숫자 키값은 더 나은 압축을 위해 높은 바이트를 우선적으로 저장한다.
  • row가 정렬된 순서로 저장되어 질때 인덱스 트리는 위의 노드가 하나의 키 값을 포함하도록 하기 위해서 잘게 쪼갠다.
    • 이러한 과정은 인덱스 트리의 공간 활용률을 높힌다.
  • 테이블당 AUTO_INCREMENT 컬럼의 내부적인 처리가 지원된다.
    • MYISAM은 해당 컬럼에 대해서 자동적으로 INSERT, UPDATE 가 이루어 진다. -> 이렇게하면  AUTO_INCREMETN 가 최소 10% 빨라진다.
    • 시퀀스의 가장 꼭대기 값은 삭제 이후엔 재사용되지 않는다. 
  • 동시적인 INSERT가 가능하다.

 


References

https://www.physicsforums.com/threads/what-is-code-binary-portability-computer-science.281338/

 

What is Code/binary portability ?(computer science)

Hi, This is Gokul. Can anyone explain me what is Code/binary portability..?

www.physicsforums.com

https://mariadb.com/kb/en/myisam-overview/ 

 

MyISAM Overview

Light, non-transactional storage engine

mariadb.com

https://mariadb.com/kb/en/full-text-index-overview/

 

Full-Text Index Overview

Full-text indexing and searching overview.

mariadb.com

 

'CS > DataBase' 카테고리의 다른 글

(MySQL) MyISAM vs InnoDB  (0) 2020.02.16
(MySQL) Inno Storage 엔진  (0) 2020.02.16
(MySQL) 스토리지 엔진  (0) 2020.02.16
(ORACLE) 오라클의 데이터 구조  (0) 2019.12.11
(ORACLE) SQL 문 분석과 공유 풀  (0) 2019.12.05