집 >데이터 베이스 >MySQL 튜토리얼 >mysql의 일반적인 스토리지 엔진은 무엇입니까?
mysql의 일반적인 스토리지 엔진은 다음과 같습니다. 1. InnoDB 스토리지 엔진 2. MyISAM 스토리지 엔진 3. MEMORY 스토리지 엔진. MySQL 5.5 이상에서는 기본적으로 핫 백업, 외래 키 연결, 행 수준 잠금 및 트랜잭션과 같은 기능을 갖춘 InnoDB 스토리지 엔진을 사용합니다.
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!