MySQL의 스토리지 엔진은 일반적인 특징

차례

  1. 의 MyISAM 엔진
  2. 이노 엔진
  3. 다른 스토리지 엔진
  4. 관리 스토리지 엔진

의 MyISAM 엔진

  • 의 MyISAM 엔진 기능
    • 그것은 트랜잭션을 지원하지 않습니다
    • 테이블 수준 잠금
    • , 수 쓰기하지 읽기 쓰기가 읽을 수없는, 서로를 차단하는 능력
    • 만 캐시 인덱스
    • 외래 키 제약 조건을 지원하지 않습니다
    • 그것은 클러스터 된 인덱스를 지원하지 않습니다
    • 빠른 데이터 읽기, 적은 리소스를 사용
    • 그것은 MVCC (다중 버전 동시성 제어 메커니즘) 높은 동시성을 지원하지 않습니다
    • 크래시 복구이 좋지 않습니다
    • MySQL5.5.5 기본 데이터베이스 엔진 전
  • 해당 장면 : 읽기 전용 (이하 쓰기), (복구 작업에 오랜 시간 동안 허용) 작은 테이블
  • 의 MyISAM 엔진 파일

    `tbl_name.frm` 표 형식 정의
    `tbl_name.MYD` 데이터 파일
    `tbl_name.MYI` 인덱스 파일

이노 엔진

  • 이노 엔진 기능
    • 단기 거래의 큰 숫자를 처리하기위한 적절한 지원 서비스,
    • 행 수준 잠금
    • 쓰기는 트랜잭션 격리 수준과 관련된 블로킹
    • 그것은 데이터와 인덱스를 캐시 할 수있다
    • 클러스터 된 인덱스 지원
    • 더 나은 크래시 복구
    • MVCC 지원 높은 동시성
    • 전체 텍스트 인덱스에서 MySQL5.5 지원
    • 기본 데이터베이스 엔진에서 시작 MySQL5.5.5
  • InnoDB의 데이터베이스 파일 이가지 경우 :
    1. 모든 이노 테이블 데이터와 인덱스 테이블의 동일 공간에 배치
      • 정의 된 디렉토리에 DATADIR : 테이블 공간 파일
      • 데이터 파일 : ibddata1, ibddata2, ...
    2. 테이블 및 인덱스 데이터 테이블을 사용하여 각 테이블은 별도로 저장됩니다
      • 사용 : 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;

추천

출처www.cnblogs.com/chaoyiyang/p/12148394.html