MyISAMMySQL 5.0 이전의 기본 데이터베이스 엔진으로 가장 일반적으로 사용됩니다. 삽입 및 쿼리 속도가 높지만 트랜잭션을 지원하지 않습니다
InnoDB는 트랜잭션 데이터베이스에 선호되는 엔진이며 ACID 트랜잭션을 지원하고 행 수준 잠금을 지원합니다. MySQL은 MySQL 5.5부터 기본 데이터베이스 엔진이 되었습니다.
BDB는 Berkeley DB에서 유래되었으며 트랜잭션 데이터베이스의 또 다른 옵션으로 Commit 및 Rollback과 같은 다른 트랜잭션 기능을 지원합니다.
Memory는 모든 데이터를 메모리에 저장하는 스토리지 엔진으로 삽입률이 매우 높습니다. 업데이트 및 쿼리 효율성. 하지만 데이터 양에 비례하여 메모리 공간을 차지하게 됩니다. 그리고 MySQL을 다시 시작하면 해당 콘텐츠가 손실됩니다
Merge는 일정 수의 MyISAM 테이블을 전체로 결합하므로 대규모 데이터 저장에 매우 유용합니다.
아카이브는 다음과 같은 경우에 매우 적합합니다. 다수의 독립된 기록 데이터를 저장합니다. 자주 읽히지 않기 때문입니다. Archive는 삽입 속도가 효율적이지만 쿼리 지원이 상대적으로 열악합니다
Federated는 서로 다른 MySQL 서버를 결합하여 논리적으로 완전한 데이터베이스를 구성합니다. 분산 애플리케이션에 매우 적합
클러스터/NDB 고도로 중복된 스토리지 엔진, 여러 데이터 시스템을 사용하여 공동으로 서비스를 제공하여 전반적인 성능과 보안을 향상시킵니다. 데이터 양이 많고 보안 및 성능 요구 사항이 높은 애플리케이션에 적합합니다.
CSV: 데이터를 쉼표로 논리적으로 구분하는 스토리지 엔진입니다. 데이터베이스 하위 디렉터리의 각 데이터 테이블에 대해 .csv 파일을 생성합니다. 이는 각 데이터 줄이 하나의 텍스트 줄을 차지하는 일반 텍스트 파일입니다. CSV 저장소 엔진은 인덱싱을 지원하지 않습니다.
BlackHole: 블랙홀 엔진, 기록된 모든 데이터는 사라집니다. 일반적으로 복제용 릴레이로 binlog를 기록하는 데 사용됩니다.
예제 스토리지 엔진은 아무 작업도 수행하지 않는 스텁 엔진입니다. 이는 새로운 스토리지 엔진 작성을 시작하는 방법을 보여주기 위해 MySQL 소스 코드의 예제로 작성되었습니다. 다시 말하지만, 주요 관심은 개발자입니다. 예 스토리지 엔진은 인덱싱을 지원하지 않습니다.
또한 MySQL의 스토리지 엔진 인터페이스가 잘 정의되어 있습니다. 관심 있는 개발자는 문서를 읽고 자신만의 스토리지 엔진을 작성할 수 있습니다.
위는 Mysql 시리즈(4) 스토리지 엔진의 내용입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!