>  기사  >  데이터 베이스  >  MySQL에서 일반적으로 사용되는 스토리지 엔진은 무엇입니까?

MySQL에서 일반적으로 사용되는 스토리지 엔진은 무엇입니까?

清浅
清浅원래의
2019-05-07 16:50:1528891검색

MySql의 스토리지 엔진은 1. MyISAM 엔진, 2. MyISAM 병합 엔진, 4. 메모리 엔진, 5. 아카이브 엔진입니다.

MySQL에서 일반적으로 사용되는 스토리지 엔진은 무엇입니까?

MySql의 스토리지 엔진

1. MyISAM 엔진

이 엔진은 mysql에서 제공하는 최초의 엔진입니다. 이 엔진은 정적 MyISAM, 동적 MyISAM 및 압축 MyISAM의 세 가지 유형으로 나눌 수 있습니다.

(1) 정적 MyISAM: 데이터 테이블의 각 데이터 열 길이가 미리 고정되어 있으면 서버가 자동으로 이 테이블 유형을 선택합니다. 데이터 테이블의 각 레코드는 동일한 공간을 차지하므로 테이블 액세스 및 업데이트 효율성이 매우 높습니다. 데이터가 손상된 경우 복구가 더 쉽습니다.

(2) 동적 MyISAM: varchar, xxxtext 또는 xxxBLOB 필드가 데이터 테이블에 나타나면 서버가 자동으로 이 테이블 유형을 선택합니다. 정적 MyISAM에 비해 이러한 종류의 테이블의 저장 공간은 상대적으로 작지만 각 레코드의 길이가 다르기 때문에 데이터가 여러 번 수정된 후에는 데이터 테이블의 데이터가 메모리에 개별적으로 저장될 수 있습니다. 결과적으로 실행 효율성이 감소합니다. 동시에 메모리에 많은 조각화가 있을 수도 있습니다. 따라서 이러한 유형의 테이블은 최적화 테이블 명령이나 최적화 도구를 사용하여 조각 모음을 수행해야 하는 경우가 많습니다.

(3) MyISAM 압축: 위에서 언급한 두 가지 유형의 테이블 모두 myisamchk 도구를 사용하여 압축할 수 있습니다. 이 유형의 테이블은 스토리지 공간을 더욱 줄이지만 압축 후에는 이 유형의 테이블을 수정할 수 없습니다. 또한, 이런 종류의 테이블은 압축된 데이터이기 때문에 읽을 때 먼저 압축을 풀어야 합니다.

그러나 MyISAM 테이블의 종류에 관계없이 현재는 트랜잭션, 행 수준 잠금 및 외래 키 제약 조건을 지원하지 않습니다.

2. MyISAM 병합 엔진

이 유형은 MyISAM 유형의 변형입니다. 테이블 병합은 여러 개의 동일한 MyISAM 테이블을 가상 테이블로 병합하는 것입니다. 로그 및 데이터 웨어하우스에 일반적으로 사용됩니다.

3. InnoDB 엔진

InnoDB 테이블 유형은 트랜잭션, 행 수준 잠금 메커니즘 및 외래 키 제약 조건 기능을 제공하는 MyISAM의 추가 업데이트 제품으로 볼 수 있습니다.

4. 메모리(힙) 엔진

이런 유형의 데이터 테이블은 메모리에만 존재합니다. 해시 인덱스를 사용하므로 데이터 액세스가 매우 빠릅니다. 이 유형은 메모리에 존재하므로 임시 테이블에서 자주 사용됩니다.

5. 아카이브 엔진

이 유형은 선택 및 삽입 문만 지원하며 인덱스는 지원하지 않습니다. 로깅 및 집계 분석에 자주 사용됩니다.

위 내용은 MySQL에서 일반적으로 사용되는 스토리지 엔진은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.