차례
의 MyISAM 엔진
- 의 MyISAM 엔진 기능
- 그것은 트랜잭션을 지원하지 않습니다
- 테이블 수준 잠금
- , 수 쓰기하지 읽기 쓰기가 읽을 수없는, 서로를 차단하는 능력
- 만 캐시 인덱스
- 외래 키 제약 조건을 지원하지 않습니다
- 그것은 클러스터 된 인덱스를 지원하지 않습니다
- 빠른 데이터 읽기, 적은 리소스를 사용
- 그것은 MVCC (다중 버전 동시성 제어 메커니즘) 높은 동시성을 지원하지 않습니다
- 크래시 복구이 좋지 않습니다
- MySQL5.5.5 기본 데이터베이스 엔진 전
- 해당 장면 : 읽기 전용 (이하 쓰기), (복구 작업에 오랜 시간 동안 허용) 작은 테이블
의 MyISAM 엔진 파일
`tbl_name.frm` 표 형식 정의 `tbl_name.MYD` 데이터 파일 `tbl_name.MYI` 인덱스 파일
이노 엔진
- 이노 엔진 기능
- 단기 거래의 큰 숫자를 처리하기위한 적절한 지원 서비스,
- 행 수준 잠금
- 쓰기는 트랜잭션 격리 수준과 관련된 블로킹
- 그것은 데이터와 인덱스를 캐시 할 수있다
- 클러스터 된 인덱스 지원
- 더 나은 크래시 복구
- MVCC 지원 높은 동시성
- 전체 텍스트 인덱스에서 MySQL5.5 지원
- 기본 데이터베이스 엔진에서 시작 MySQL5.5.5
- InnoDB의 데이터베이스 파일 이가지 경우 :
- 모든 이노 테이블 데이터와 인덱스 테이블의 동일 공간에 배치
- 정의 된 디렉토리에 DATADIR : 테이블 공간 파일
- 데이터 파일 : ibddata1, ibddata2, ...
- 테이블 및 인덱스 데이터 테이블을 사용하여 각 테이블은 별도로 저장됩니다
- 사용 :
innodb_file_per_table=ON
- 참조 : InnoDB의 파일
- (데이터와 인덱스를 저장하기위한) 데이터 파일 :
tb_name.ibd
- 표 형식 정의 :
tb_name.frm
- 사용 :
- 모든 이노 테이블 데이터와 인덱스 테이블의 동일 공간에 배치
다른 스토리지 엔진
Performance_Schema
:Performance_Schema
데이터베이스 사용Memory
: RAM에, 경우에 신속하게 빠른 액세스를 위해 유사한 참조 데이터가 임시 데이터를 저장하기 위해 적용하는 모든 데이터 저장 및 다른 환경을 찾아야합니다.
엔진은 이전 HEAP 엔진으로 알려진MRG_MyISAM
: MySQL의 DBA 정도 개발자 논리적으로 그룹화 동일한 MyISAM 테이블의 일련의, 그들은 개체로 참조 할 수있다.
적절한 VLDB (초대형 데이터베이스) 환경, 이러한 데이터웨어 하우스로Archive
: 저장하려면 큰 거의 언급하지 아카이브 또는 보안 감사 정보를 검색 만 지원 SELECT 및 INSERT 운영, 지원하는 행 수준 잠금 및 전용 캐시Federated
연맹 : 액세스 다른 원격 MySQL의 프록시, 그것은 원격 클라이언트 연결에 MySQL 서버를 만드는 것입니다 서버에 사용되는
쿼리하고 완벽한 데이터 액세스를 수행하는 원격 서버 및 전송은, 그래서, 별도의 MySQL 서버에 링크 할 수있는 기능을 제공에서 여러 개의 물리적 서버는 만들 수
논리적 데이터베이스를. 분산 환경 또는 데이터 마트에 적합BDB
: 대체 InnoDB의 트랜잭션 엔진 지원은 ROLLBACK 및 기타 비즈니스 특성을 커밋Cluster/NDB
: MySQL 클러스터 형 데이터베이스 엔진, 찾기 높은 성능 요구 애플리케이션에 적합하다, 그런 요구는 가장 높은 정상 찾는 질문
근무 시간과 가용성을CSV
: CSV 데이터를 저장하는 스토리지 엔진을 콤마 분리 값 형식 가져올 사용되고 CSV 형식으로 텍스트 파일에 CSV 엔진 및 기타 소프트웨어를 내보낼 수있다.
응용 프로그램 간의 데이터 교환BLACKHOLE
: 블랙 홀 스토리지 엔진은 허용하지만, 데이터를 저장하지 않고, 검색은 항상 데이터가 자동으로 복사되어, 분산 데이터베이스 설계에 사용할 수있는 빈 집합을 반환
하지만 로컬에 저장되지example
"그루터기"엔진, 그것은하지만있는 저장하거나 데이터를 검색, 테이블을 만들려면이 엔진을 사용할 수 있습니다 아무것도하지 않습니다 .. 설명하기 위해 예로서 의도
새로운 스토리지 엔진을 쓰기 시작하는 방법
관리 스토리지 엔진
- MySQL의 지원 스토리지 엔진을보기 :
SHOW ENGINES
; - 현재 기본 스토리지 엔진을보기 :
SHOW VARIABLES LIKE '%storage_engine%';
기본 스토리지 엔진을 설정합니다 :
vim /etc/my.conf
[mysqld] default_storage_engine= InnoDB
- 사용되는 모든 라이브러리 스토리지 엔진 테이블보기 :
SHOW TABLE STATUS FROM db_name;
- 라이브러리 스토리지 엔진 지정된 테이블보기 :
SHOW TABLE STATUS LIKE ' tb_name ';
SHOW CREATE TABLE tb_name;
설정 스토리지 엔진 테이블 :
CREATE TABLE tb_name(... ) ENGINE=InnoDB;
ALTER TABLE tb_name ENGINE=InnoDB;