>  기사  >  데이터 베이스  >  MySQL의 4가지 엔진 소개

MySQL의 4가지 엔진 소개

Guanhui
Guanhui앞으로
2020-05-21 11:26:172184검색

MySQL의 4가지 엔진 소개

1. MyISAM 스토리지 엔진

은 트랜잭션이나 외래 키를 지원하지 않으며, 트랜잭션 무결성에 대한 요구 사항이 없거나 기본적으로 선택 및 기반 애플리케이션에 사용할 수 있다는 장점이 있습니다. insert.이 엔진은 테이블을 생성합니다

정적 테이블, 동적 테이블, 압축 테이블

정적 테이블: 테이블의 필드는 가변 길이 필드이므로 각 레코드는 고정 길이입니다. 장점은 매우 빠른 저장, 쉬운 캐시, 장애 발생 시 복구가 용이하다는 것입니다. 단점은 일반적으로 동적 테이블보다 더 많은 공간을 차지한다는 것입니다(저장 중에 열 너비 정의에 따라 공간이 채워지기 때문입니다). ps: 데이터를 가져올 때 기본적으로 공백이 제거된 후에 필드가 추가됩니다. 주의하지 않으면 데이터 자체의 공백도 무시됩니다.

동적 테이블: 레코드의 길이가 고정되지 않습니다. 단점: 데이터를 자주 업데이트하고 삭제하면 OPTIMIZE TABLE 또는 myisamchk를 정기적으로 실행해야 합니다. 성능 향상을 위한 -r 명령

압축 테이블: 각 레코드가 개별적으로 압축되므로 액세스 오버헤드가 매우 적습니다

2. InnoDB 스토리지 엔진

이 스토리지 엔진은 커밋, 롤백 및 충돌 복구 기능을 통해 트랜잭션 안전을 제공합니다. . 그러나 MyISAM 엔진과 비교하면 쓰기 처리 효율성이 떨어지며 데이터와 인덱스를 유지하는 데 더 많은 디스크 공간을 차지합니다.

InnoDB 스토리지 엔진의 기능: 열 자동 증가 지원, 외래 키 제약 조건 지원

3. 메모리 스토리지 엔진

메모리 스토리지 엔진은 메모리에 존재하는 콘텐츠를 사용하여 테이블을 생성합니다. 각 메모리 테이블은 실제로 하나의 디스크 파일에만 해당하며 형식은 .frm입니다. 메모리형 테이블의 접근은 데이터가 메모리에 저장되고 기본적으로 HASH 인덱스를 사용하기 때문에 매우 빠르다. 그러나 서비스가 종료되면 테이블의 데이터는 손실된다.

MEMORY 스토리지 엔진 테이블은 BTREE 인덱스 또는 HASH 인덱스를 사용하도록 선택할 수 있습니다. 두 가지 유형의 인덱스는 사용 범위가 다릅니다.

해시 인덱스 장점:

해시 인덱스 구조의 특수성, 검색 효율성이 매우 높습니다. 루트 노드에서 분기 노드, 마지막으로 페이지 노드까지 여러 번의 IO 액세스가 필요한 B-Tree 인덱스와 달리 검색은 한 번에 찾을 수 있으므로 Hash 인덱스의 쿼리 효율성이 훨씬 높습니다. B-트리 인덱스.

해시 인덱스 단점: 부정확한 검색의 경우 해시 알고리즘이 등가 계산을 기반으로 하기 때문에 "좋아요"와 같은 범위 검색에 대한 해시 인덱스가 유효하지 않으며 지원되지 않는다는 것도 분명합니다.

메모리 유형 저장 엔진은 다음과 같습니다. 주로 사용되며 내용이 자주 변경되지 않는 코드 테이블이나 통계 연산의 중간 결과 테이블로 적합하여 중간 결과를 효율적으로 분석하고 최종 통계 결과를 얻을 수 있습니다. 스토리지 엔진이 메모리인 테이블을 업데이트할 때는 실제로 데이터가 디스크에 기록되지 않으므로 주의해야 하므로 다음에 서비스를 다시 시작한 후 수정된 데이터를 어떻게 얻을 것인지 고려해야 합니다.

4. 병합 스토리지 엔진

Merge 스토리지 엔진은 MyISAM 테이블 세트의 조합으로, 병합 테이블 자체에는 데이터가 없습니다. 병합 유형 테이블에서 수행되지만 이러한 작업은 실제로 내부 MyISAM 테이블에서 수행됩니다.

추천 튜토리얼: "MySQL 튜토리얼"

위 내용은 MySQL의 4가지 엔진 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제