MySQL의의 MyISAM과 InnoDB 스토리지 엔진이 가지고있는 차이점은 무엇입니까?

  첫째,의 MyISAM과 InnoDB의 차이가 있나요?

  1. InnoDB지원 서비스는 MyISAM지원되지 않습니다. 들어 InnoDBSQL자동 제출 한 거래에 패키지 기본적으로 언어, 그것은 여러에 최고에, 속도에 영향을 미칠 것입니다 SQL에 언어 begincommit거래의 구성 사이에.

  2. InnoDB외래 키를 지원하지만, MyISAM그것은 지원하지 않습니다. 외래 키 포함하기 InnoDB로 테이블을 MYISAM실패합니다.

  (3) InnoDB기본 키, 기본 키 인덱스가 매우 효율적이 있어야한다, 총 인덱스, 인덱스 및 데이터 파일이 함께 연결되어 있습니다. 그러나 두 개의 보조 인덱스 쿼리, 기본 키의 첫 번째 쿼리가 필요하고 기본 키에 의해 데이터를 쿼리합니다. 따라서, 기본 키는 기본 키가 너무 크기 때문에, 다른 인덱스도 좋을 것 너무 큰해서는 안됩니다. 그리고 MyISAM클러스터되지 않은 인덱스는 데이터 파일, 데이터 파일에 저장되어있는 인덱스 포인터를 구분됩니다. 기본 키 인덱스와 보조 인덱스는 독립적이다.

  4. InnoDB테이블의 행 번호가 특정 저장되지 않고, 실행은 select count(*) from table전체 테이블 검색을 필요로한다. 그리고 MyISAM전체 테이블의 행 수를 보유하는 변수로, 당신은 매우 빠른, 위의 문장을 수행하는 변수를 읽을 필요가있다.

  5. Innodb전체 텍스트 인덱싱 및 지원하지 않습니다 MyISAM전체 텍스트 인덱싱에 대한 지원을, 쿼리 효율이 MyISAM높다.

  둘째, 방법의 MyISAM과 InnoDB의를 선택?

   1. 마 당신은 선택하려는 경우, 트랜잭션을 지원하려는 innodb당신이 고려해야 할 필요가없는 경우, MyISAM.

   2. 단지 쿼리를 읽고있는 대부분의 테이블이 고려 될 수 있다면 MyISAM, 읽기 및 쓰기 모두 매우 자주 사용하는 경우 InnoDB.

     3. 벤, 시스템 붕괴 MyISAM가 더 어려워, 받아 들일 수 복원합니다.

    4. MySQL5.5버전은 시작 Innodb되었다 Mysql(그 전에 기본 엔진 MyISAM의 장점은 명백하다 나타내는) 당신이 그것을 사용 모르는 경우 InnoDB, 적어도 나쁘지.

  관련 기사는 다음과 MYSQL :

추천

출처www.cnblogs.com/liuyu2014/p/11904841.html