MySQL 테이블 엔진
MySQL의 힘은 플러그인 스토리지 엔진에 있습니다. 테이블의 특성에 따라 다양한 스토리지 엔진을 사용하여 최고의 성능을 얻을 수 있습니다.
충분히 친숙하고 특정 업무 경험이 있는 경우. 자체 서버에서 Alibaba 및 NetEase가 오픈소스로 제공하는 MySQL 엔진을 사용할 수도 있습니다.
다음 섹션 "데이터베이스 구조 정의 문"에서 테이블 생성을 위한 문을 배울 수 있습니다. mysql이 테이블을 생성할 때 해당 엔진을 지정할 수 있습니다.
mysql 명령에 사용:
showengines;
현재 서버에서 지원하는 모든 엔진을 확인합니다.
일반적으로 사용되는 몇 가지 엔진을 소개하고 덜 일반적으로 사용되는 몇 가지 엔진에 대해 알아봅니다. 앞으로는 실제 작업에서 개념을 모르는 일부 엔진을 보지 마십시오.
엔진 이름 | Special |
---|---|
MyISAM | 자주 사용합니다. 읽기 효율이 높은 엔진 |
InnoDB | 이 일반적으로 사용됩니다. 집필, 지원 사무소 등 모두 지원 |
Archive | 일반적으로 사용되지 않습니다. 아카이브 엔진, 최대 1:10의 압축 비율, 데이터 아카이브에 사용 |
NDB | 일반적으로 사용되지 않습니다. MySQL 클러스터 서버에서 주로 사용되며 소개가 없습니다 |
MyISAM
은 트랜잭션, 테이블 잠금(테이블 수준 잠금, 잠금은 테이블 전체를 잠급니다)을 지원하지 않으며 전체 텍스트 인덱스를 지원하며 빠른 작업 속도를 가지고 있습니다. 책을 많이 읽는 기업에 자주 사용됩니다.
- myisam 스토리지 엔진 테이블은 myd와 myi로 구성됩니다. .myd는 데이터 파일을 저장하는 데 사용되고 .myi는 인덱스 파일을 저장하는 데 사용됩니다.
- myisam 스토리지 엔진 테이블의 경우 mysql 데이터베이스는 인덱스 파일만 캐시하며, 데이터 파일 캐시는 운영 체제 자체에서 완료됩니다.
InnoDB
- 는 주로 온라인 트랜잭션 처리(OLTP) 애플리케이션을 위한 트랜잭션을 지원합니다.
- 행 잠금 디자인은 외래 키를 지원합니다. 즉, 읽기 작업은 기본적으로 잠겨 있지 않습니다.
InnoDB는 엄청난 양의 데이터를 처리할 때 최대 성능을 발휘하도록 설계되었습니다.
참고:
행 잠금: 다른 사람이 조작하지 못하도록 쓰기 및 업데이트 작업 중에 이 행을 잠급니다.
테이블 잠금: 쓰기 및 업데이트 작업 중에 다른 사람이 테이블을 조작하지 못하도록 테이블을 잠급니다.
트랜잭션: 데이터 작업 중 하나가 실패하면 동시에 여러 데이터를 작업합니다. 작업 이전으로 롤백할 수 있습니다. 은행, 전자상거래, 금융 및 기타 시스템에서 일반적으로 사용됩니다.