>  기사  >  데이터 베이스  >  고성능 MySQL - 스토리지 엔진 MyISAM과 InnoDB의 기본적인 차이점 소개

고성능 MySQL - 스토리지 엔진 MyISAM과 InnoDB의 기본적인 차이점 소개

黄舟
黄舟원래의
2017-03-15 17:19:251619검색


이 블로그 게시물은 주로 MyISAM과 InnoDB의 차이점을 요약합니다.

InnoDB와 MyISAM은 MySQL을 사용할 때 가장 일반적으로 사용되는 두 가지 테이블 유형입니다. 두 테이블 유형 모두 특정 응용 프로그램에 따라 고유한 장점과 단점이 있습니다. 기본적인 차이점은 다음과 같습니다.

(1) MyISAM 유형은 트랜잭션 처리 등 고급 처리를 지원하지 않지만 InnoDB 유형은 트랜잭션을 지원합니다.

(2) InnoDB는 데이터 행 잠금을 지원합니다. MyISAM은 행 잠금을 지원하지 않고 전체 테이블 잠금만 지원합니다. InnoDB 테이블의 행 잠금은 절대적이지 않다는 점에 유의해야 합니다. MySQL이 SQL 문을 실행할 때 스캔할 범위를 결정할 수 없는 경우 InnoDB 테이블은 전체 테이블도 잠급니다(예: update table set num=). 1 “% aaa%”와 같은 이름

(3) InnoDB는 외래 키를 지원하지만 MyISAM은 지원하지 않습니다.

(4) InnoDB는 테이블의 특정 행 수를 저장하지 않습니다. 즉, 테이블에서 select count()를 실행할 때 InnoDB는 테이블 전체를 스캔하여 몇 행을 계산해야 합니다. 행이 있습니다. 그러나 MyISAM은 저장된 행 수만 읽습니다. count() 문에 where 조건이 포함된 경우 두 테이블의 작업은 동일합니다.

위 내용은 고성능 MySQL - 스토리지 엔진 MyISAM과 InnoDB의 기본적인 차이점 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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