>  기사  >  데이터 베이스  >  mysql의 일반적인 스토리지 엔진은 무엇입니까?

mysql의 일반적인 스토리지 엔진은 무엇입니까?

王林
王林원래의
2020-06-24 15:17:234025검색

mysql의 일반적인 스토리지 엔진은 다음과 같습니다. 1. InnoDB 스토리지 엔진 2. MyISAM 스토리지 엔진 3. MEMORY 스토리지 엔진. MySQL 5.5 이상에서는 기본적으로 핫 백업, 외래 키 연결, 행 수준 잠금 및 트랜잭션과 같은 기능을 갖춘 InnoDB 스토리지 엔진을 사용합니다.

mysql의 일반적인 스토리지 엔진은 무엇입니까?

mysql의 일반적인 스토리지 엔진은 다음과 같습니다.

(권장 튜토리얼: mysql 튜토리얼)

1. InnoDB 엔진(MySQL 5.5 이후 기본적으로 사용됨)

MySQL 5.5 이상 버전 기본 스토리지 엔진의 장점은 다음과 같습니다.

  • 훌륭한 재해 복구

  • 트랜잭션 지원

  • 행 수준 잠금 사용

  • 외래 키 연결 지원

  • 핫 백업 지원

  • 위해 InnoDB 엔진의 테이블은 데이터의 물리적인 구성 형태가 클러스터 테이블(Cluster Table)이다. 기본키 인덱스와 데이터가 함께 물리적으로 분산되어 버퍼 관리를 구현한다. 이는 인덱스를 버퍼링할 수 있을 뿐만 아니라 데이터 수집 속도를 높이기 위해 자동으로 해시 인덱스를 생성합니다.

2. MyISAM 엔진

기능은 다음과 같습니다.

  • 은 지원하지 않습니다. 트랜잭션

  • 테이블 수준 잠금 사용, 동시성 저하

  • 호스트가 다운된 후 MyISAM 테이블이 쉽게 손상되고 재해 복구가 좋지 않음

  • 잠금과 함께 사용하여 복사, 백업 실현 가능 및 운영체제 하에서의 마이그레이션

  • 인덱스만 캐시되고, 데이터는 운영체제 버퍼 구현을 이용하여 캐시됩니다. 시스템 호출이 너무 많아 비효율적일 수 있음

  • 데이터가 콤팩트하게 저장되므로 더 작은 인덱스와 더 빠른 전체 테이블 스캔 성능을 얻을 수 있습니다.

3 MEMORY 스토리지 엔진

특징:

  • 제공 메모리 내 테이블은 트랜잭션 및 외래 키를 지원하지 않습니다.

  • 테이블 수준 잠금을 사용합니다. 메모리 액세스는 빠르지만 읽기 및 쓰기가 자주 발생하면 테이블 수준 잠금이 병목 현상이 발생합니다.

  • 고정 잠금만 지원합니다. 크기 행. Varchar 유형 필드는 고정 길이 Char 유형으로 저장되므로 공간을 낭비합니다. TEXT 및 BLOB 필드는 지원되지 않습니다. 일부 쿼리에서 임시 테이블(MEMORY 스토리지 엔진도 사용)을 사용해야 하는 경우 테이블에 TEXT 및 BLOB 필드가 있으면 디스크 기반 MyISAM 테이블로 변환되어 성능이 심각하게 저하됩니다

  • 메모리 리소스 비용이 많이 들기 때문에 일반적으로 메모리 테이블을 너무 크게 설정하는 것은 권장되지 않습니다. 메모리 테이블이 가득 차면 데이터를 삭제하거나 메모리 테이블 매개변수를 조정하여 오류를 피할 수 있습니다.

  • 데이터는 손실됩니다.

  • 복사 및 유지 관리 시 주의가 필요합니다.

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

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