>  기사  >  데이터 베이스  >  두 MySQL 엔진의 차이점은 무엇입니까?

두 MySQL 엔진의 차이점은 무엇입니까?

一个新手
一个新手원래의
2017-10-13 10:42:421817검색

Innodb 엔진

Innodb 엔진은 데이터베이스 ACID 트랜잭션을 지원하고 SQL 표준의 4가지 격리 수준을 구현합니다. 이 엔진은 또한 행 수준 잠금 및 외래 키 제약 조건을 제공합니다. 이 엔진의 설계 목표는 실제로 MySQL 백엔드를 기반으로 하는 완전한 데이터베이스 시스템입니다. 버퍼 데이터 및 인덱스를 위한 메모리입니다. 그러나 엔진은 FULLTEXT 유형의 인덱스를 지원하지 않으며, SELECT COUNT(*) FROM TABLE 수행 시 테이블 전체를 스캔해야 합니다. 물론 이 엔진은 데이터베이스 트랜잭션 작업이 필요할 때 가장 먼저 선택됩니다. 잠금 세분성이 더 작기 때문에 쓰기 작업은 전체 테이블을 잠그지 않으므로 동시성이 높을 경우 Innodb 엔진을 사용하면 효율성이 향상됩니다. 그러나 행 수준 잠금의 사용은 절대적이지 않습니다. MySQL이 SQL 문을 실행할 때 스캔할 범위를 결정할 수 없으면 InnoDB 테이블도 전체 테이블을 잠급니다.

MyIASM 엔진

MyIASM은 MySQL의 기본 엔진이지만 데이터베이스 트랜잭션에 대한 지원을 제공하지 않으며 행 수준 잠금 및 외래 키를 지원하지 않으므로 INSERT(삽입) 또는 UPDATE(업데이트) 시 쓰기 작업이 필요합니다. ) data 전체 테이블을 잠그는 것은 덜 효율적입니다. 하지만 Innodb와 달리 MyIASM은 테이블에 행 개수를 저장하기 때문에 SELECT COUNT(*) FROM TABLE 시 전체 테이블 스캔을 수행하지 않고 저장된 값만 직접 읽어오면 됩니다. 테이블에 쓰기 작업보다 읽기 작업이 훨씬 많고 데이터베이스 트랜잭션 지원이 필요하지 않은 경우 MyIASM도 좋은 선택입니다.

주요 차이점:

1. MyIASM은 트랜잭션이 안전하지만, InnoDB는 트랜잭션이 안전합니다.

2 MyIASM 잠금은 테이블 수준이지만 InnoDB는 행 수준 잠금을 지원합니다

3. InnoDB는 전체 텍스트 인덱싱을 지원하지 않습니다

4. MyIASM은 InnoDB보다 효율적입니다. 소규모 애플리케이션에서는 MyIASM

5을 사용하는 것이 더 편리합니다. 크로스 플랫폼 사용

애플리케이션 시나리오:

1. MyIASM은 비트랜잭션 테이블을 관리하고 고속 저장 및 검색은 물론 전체 텍스트 검색 기능도 제공합니다. MyIASM을 선택해야 합니다

2. InnoDB는 트랜잭션 처리에 사용되며 ACID 트랜잭션 지원과 같은 기능을 갖추고 있습니다. 많은 수의 삽입 및 업데이트 작업을 수행하려면 InnoDB

를 선택해야 합니다.

위 내용은 두 MySQL 엔진의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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