MySQL5.5 이전에는 기본 엔진이 "MyISAM"이었습니다. MySQL5.5부터 기본 엔진은 "InnoDB"입니다. 이 엔진은 ACID 준수 및 트랜잭션을 완벽하게 지원하고 외래 키, 커밋, 롤백 및 롤포워드 작업을 지원합니다. 테이블 크기는 최대 64TB까지 가능합니다. MySQL에서는 "SHOW ENGINES;" 명령을 사용하여 출력 결과에서 시스템이 지원하는 엔진 유형과 기본 엔진을 볼 수 있으며, DEFAULT 키워드로 식별되는 엔진은 현재 기본 스토리지 엔진입니다.
이 튜토리얼의 운영 환경: windows7 시스템, mysql8 버전, Dell G3 컴퓨터.
데이터베이스 저장 엔진은 데이터베이스의 기본 소프트웨어 구성 요소입니다. 데이터베이스 관리 시스템은 데이터 엔진을 사용하여 데이터 작업을 생성, 쿼리, 업데이트 및 삭제합니다. 간단히 말해서, 스토리지 엔진은 테이블의 유형을 나타냅니다.
데이터베이스의 스토리지 엔진은 테이블이 컴퓨터에 저장되는 방식을 결정합니다. 다양한 스토리지 엔진은 다양한 스토리지 메커니즘, 인덱싱 기술, 잠금 수준 및 기타 기능을 제공하며, 다양한 스토리지 엔진을 사용하면 특정 기능을 얻을 수도 있습니다.
MySQL은 테이블에 InnoDB, MyISAM, 메모리, 병합, 아카이브, CSV, BLACKHOLE 등과 같은 다양한 스토리지 엔진을 제공합니다.
MyISAM은 MySQL 5.5 이전에는 스토리지 엔진을 명시적으로 지정하지 않고 테이블을 생성할 때 기본 스토리지 엔진이었습니다. 버전 5.5부터 MySQL은 InnoDB를 기본 스토리지 엔진으로 사용합니다.
SHOW ENGINES;
문을 사용하여 시스템에서 지원하는 엔진 유형을 확인할 수 있으며 결과는 그림과 같습니다.
Support 열의 값은 특정 엔진을 사용할 수 있는지 여부를 나타냅니다. YES는 사용할 수 있음을 의미하고, NO는 사용할 수 없음을 의미하며, DEFAULT는 해당 엔진이 현재 기본 스토리지 엔진임을 의미합니다.
보시다시피 현재 기본 스토리지 엔진은 InnoDB입니다.
MyISAM 엔진
MyISAM은 이전 ISAM 스토리지 엔진을 확장합니다. MyISAM 테이블은 압축 및 속도에 최적화되어 있습니다. MyISAM 테이블은 플랫폼과 운영 체제 간에도 이식 가능합니다.
MyISAM 테이블 크기는 256TB에 달할 수 있는데, 이는 엄청납니다. 또한 MyISAM 테이블을 읽기 전용 테이블로 압축하여 공간을 절약할 수 있습니다. 시작 시 MySQL은 MyISAM 테이블의 손상 여부를 확인하고 오류가 발생하면 복구하기도 합니다. MyISAM 테이블은 트랜잭션에 안전하지 않습니다.
InnoDB 엔진
InnoDB 테이블은 ACID 준수 및 트랜잭션을 완벽하게 지원합니다. 또한 성능을 위한 최고의 선택이기도 합니다. InnoDB 테이블은 외래 키, 커밋, 롤백 및 롤포워드 작업을 지원합니다. InnoDB 테이블의 크기는 최대 64TB까지 가능합니다.
MyISAM과 마찬가지로 InnoDB 테이블은 다양한 플랫폼과 운영 체제에 걸쳐 이식 가능합니다. 필요한 경우 MySQL은 시작 시 InnoDB 테이블도 확인하고 복구합니다.
MERGE 엔진
MERGE 테이블은 유사한 구조를 가진 여러 MyISAM 테이블을 하나의 테이블로 결합한 가상 테이블입니다. MERGE 스토리지 엔진은 MRG_MyISAM 엔진이라고도 합니다. MERGE 테이블에는 자체 인덱스가 없으며 구성 요소 테이블의 인덱스를 사용합니다.
여러 테이블을 조인할 때 성능 속도를 높이려면 MERGE 테이블을 사용하세요. MySQL에서는 MERGE 테이블에 대해서만 SELECT, DELETE, UPDATE 및 INSERT 작업을 수행할 수 있습니다. DROP TABLE이 MERGE 테이블에 MERGE 문을 사용하면 해당 사양만 삭제됩니다. 기본 테이블은 영향을 받지 않습니다.
메모리 엔진
메모리 테이블은 메모리에 저장되며 해시 인덱스를 사용하므로 MyISAM 테이블보다 빠릅니다. 인메모리 테이블 데이터의 수명 주기는 데이터베이스 서버의 가동 시간에 따라 달라집니다. 인메모리 스토리지 엔진은 이전에 HEAP로 알려졌습니다.
Archive Engine
Archive Storage Engine을 사용하면 대용량 기록(보관용)을 압축 형식으로 저장하여 디스크 공간을 절약할 수 있습니다. 아카이브 스토리지 엔진은 레코드를 삽입할 때 레코드를 압축하고 읽을 때 zlib 라이브러리를 사용하여 압축을 풉니다.
Archive 테이블에서는 INSERT 및 SELECT 문만 허용됩니다. ARCHIVE 테이블은 인덱스를 지원하지 않으므로 테이블에서 행을 읽으려면 전체 테이블 스캔이 필요합니다.
CSV
CSV 스토리지 엔진은 데이터를 CSV(Comma Separated Values) 파일 형식으로 저장합니다. CSV 테이블은 스프레드시트 소프트웨어와 같은 비SQL 애플리케이션으로 데이터를 마이그레이션하는 편리한 방법을 제공합니다.
CSV 테이블은 NULL 데이터 유형을 지원하지 않습니다. 또한 읽기 작업에는 전체 테이블 스캔이 필요합니다.
FEDERATED
FEDERATED 스토리지 엔진을 사용하면 클러스터링이나 복제 기술을 사용하지 않고도 원격 MySQL 서버의 데이터를 관리할 수 있습니다. 로컬 유니온 테이블에는 데이터가 저장되지 않습니다. 로컬 연합 테이블에서 데이터를 쿼리하면 데이터가 원격 연합 테이블에서 자동으로 추출됩니다.
【관련 추천: mysql 비디오 튜토리얼】
위 내용은 mysql의 기본 엔진은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!