MySQL의 두 스토리지 엔진 :의 MyISAM과 InnoDB의 요약

의 MyISAM은 초기 ISAM에 의해 (버전 5.5 이전)의 기본 MySQL 데이터베이스 엔진이다 (인덱스 순차 액세스 방법 : 순차 액세스 방법 지수) 향상된다. 우수한 성능 있지만,하지만 단점이있다 : 트랜잭션 처리 (트랜잭션)를 지원하지 않습니다 . 그러나, 개발의 년, MySQL은 또한 이노 (다른 데이터베이스 엔진)을 도입, 무결성 위반 및 동시 처리 메커니즘 참조를 강화하기 위해, 점차의 MyISAM로 대체.

InnoDB는, MySQL 데이터베이스 엔진의 MySQL AB의 표준 바이너리 릴리스 중 하나입니다. 이노는 오라클의 합병에 의해 2006 년 5 월, Innobase 오이 회사에 의해 개발되었다. 전통적인 ISAM과의 MyISAM에 비해, InnoDB는 가장 중요한 기능은 PostgreSQL의 유사 ACID 호환 트랜잭션 (거래) 기능의 지원이다. 현재 InnoDB는 두 개의 트랙 인증 한 GPL 라이센스를 사용하고, 다른 하나는 독점 소프트웨어 라이센스입니다.

의 MyISAM과 InnoDB에 상당한 차이가 사이에, 간단하게 다음과 같이 분류 :
1) 트랜잭션 지원
의 MyISAM은 트랜잭션을 지원하지 않는 반면, 이노 지원. 이노 디비 AUTOCOMMIT이 기본적으로 활성화되어, 즉, 각 SQL 문 기본적으로는,이, 속도에 영향을 미칠 것 트랜잭션, 자동으로 제출에 패키지 그래서 그것은 시작하고, 구성된 트랜잭션을 커밋 사이에 여러 SQL 문을 표시하는 것이 최선이다 제출.

의 MyISAM 비 트랜잭션 안전 및 InnoDB는, 합병 거래는 성능을 크게 향상 여러 제출 데이터베이스에 의한 오버 헤드를 줄일 함께 제출해야 안전한 트랜잭션, 자동 커밋 기본적으로 활성화되어 있습니다.

2) 메모리
의 MyISAM : 디스크에 세 개의 파일에 각각의 MyISAM 스토리지. 확장을 시작하는 테이블의 첫 번째 파일 이름의 이름은 파일 유형을 나타냅니다. .FRM 파일은 테이블을 저장합니다. .MYD (MYDATA)라는 이름의 확장 데이터 파일. 확장 인덱스 파일은 .MYI (MYIndex)입니다.
이노 : 모든 테이블이 동일한 데이터 파일에 저장되어있다가 (하나 개 이상의 파일, 또는 별도의 테이블 공간을 제기 할 수 있습니다), InnoDB의 테이블의 크기 만 운영 체제 파일, 일반적으로 2기가바이트의 크기로 제한됩니다.

3) 기억
의 MyISAM : 적은 저장 공간을 압축 할 수있다. 세 개의 다른 저장 포맷 지원 정적 테이블 (기본하지만 데이터가 마지막에 공백이 없다 제거 될 것임을주의), 동적 테이블 압축 테이블.
InnoDB는 : 그것이 메인 메모리에 데이터를 캐싱 및 인덱스에 대한 자체 전용 버퍼 풀을 만듭니다 더 많은 메모리 및 스토리지를 필요로한다.

4) 휴대 성, 백업 및 복원
의 MyISAM : 데이터를 파일로 저장됩니다, 그것은 플랫폼에서 데이터 전송을 위해 매우 편리 할 것입니다. 그것은 백업 및 복구시 테이블에 대해 개별적으로 작동 할 수 있습니다.
이노 : 무료 프로그램은 상대적으로 고통 G의 수만에, 데이터의 양을 데이터 파일, 백업 바이너리 로그를 복사하거나 mysqldump를 사용할 수 있습니다.

5) 트랜잭션 지원
의 MyISAM : 그것은 몇 배 빠른 InnoDB의 유형과 수행하는 성능, 쿼리가 원자 때마다 강조하지만, 트랜잭션 지원을 제공하지 않습니다.
InnoDB는 : 등 업무 트랜잭션을 지원하는 고급 데이터베이스 기능, 외래 키 등을 제공합니다. 트랜잭션 (커밋), 안전한 트랜잭션 롤백 (롤백) 및 (트랜잭션 안전 (ACID를 준수)의 충돌 수리 능력 (충돌 복구 기능)와 함께테이블을 입력합니다.

6) AUTO_INCREMENT의
의 MyISAM : 우리는 공동 인덱스 및 기타 분야를 함께 구축 할 수 있습니다. 인덱스가 첫 번째 열에하지 않을 수 있습니다 자동 증가의 조합, 그는 이전 컬럼의 종류에 따라 증가 될 수있는 경우 컬럼의 자동 성장 엔진은 인덱스해야합니다.
이노 : 이노 필드의 인덱스를 포함해야합니다. 인덱스는 또한 지수의 첫번째 열이어야 조합 인 경우 자동 열 성장 엔진은 인덱스이어야한다.

7) 테이블 잠금의 차이
의 MyISAM은 : 전용 테이블 수준 잠금, 동작 테이블에 사용자의 MyISAM을 지원, 업데이트, 삭제, 선택 문이 자동으로 나중에 동시 삽입 테이블 대회의 경우, 테이블에 잠긴 경우, 당신은 할 수 잠겨 삽입 목록의 끝은 새로운 데이터를 삽입합니다.
InnoDB는 : 트랜잭션 및 행 수준 잠금 이노의 가장 중요한 기능입니다 지원합니다. 행 잠금은 크게 새로운 에너지의 다중 사용자 동시 작업을 향상시킬 수 있습니다. 그러나, WHERE의 기본 키를 제외한 이노 행 잠금은 전체 테이블을 잠글 것 WHERE에 효과적인 비 기본 키입니다.

InnoDB하지만 행 수준 잠금을 지원하는 동안의 MyISAM은 테이블 수준 잠금 단위입니다. 단순히, InnoDB의 지원 데이터 라인 잠금, 행 잠금의 MyISAM 지원하지 않는, 지원은 전체 테이블을 잠급니다. 그의 MyISAM 읽기 및 쓰기 잠금을 같은 테이블에 있습니다 상호 배타적 인,의 MyISAM 동시 읽을 때 쓰기 요청이 읽는 첫번째 경우에도 읽기 요청, 기본 쓰기 요청 높은 우선 순위를 요청이있는 경우 그래서, 대기 큐에 모두 쓰기 긴 조회 프로세스가 차단됩니다로의 MyISAM은 쿼리의 큰 숫자에 적합하지 않은 상황의 공존을 수정합니다. MyISAM 테이블이 잠겨 있기 때문에, 그래서 작업은 시간이 많이 걸리는 쓰기 과정을 읽어 다른 굶어 것입니다.

8) 전체 텍스트 인덱스
의 MyISAM : 지원 (전체 텍스트 형) 전체 텍스트 인덱스
InnoDB는 : 전체 텍스트 인덱싱 (전체 텍스트 형식)를 지원하지 않습니다,하지만 당신은 스핑크스 이노 플러그인이 전체 텍스트 인덱싱 및 더 나은 지원 사용할 수 있습니다.

전체 텍스트 인덱스 (정지 단어 제외) 각 단어에 대한 CHAR, VARCHAR, 텍스트에 대한 반대 순서 인덱스의 설립을 의미합니다. 그것은 중국어 단어는 사용자가 작성해야 지원하고 워드 데이터 테이블 뒤에 공백을 추가하고, 중지 단어는 무시됩니다 미만으로 75 개 문자와 단어가 동일하지 않기 때문에의 MyISAM 전체 텍스트 인덱싱은 실제로 무의미하다.

또한, 독특한, InnoDB의 데이터 파일 자체의 성격까지 인덱스 및 데이터 분리의 MyISAM, 자연 이노 함께, 클러스터되지 않은 인덱스의 MyISAM는 기본 키 인덱스 파일이 인덱스는 "클러스터 인덱스"라고이다

9) 기본 키 테이블
의 MyISAM는 : 어떤 인덱스 테이블을 허용하고 기본 키 인덱스의 존재는 어드레스 선에 저장되지.
이노 없음 비 - 널 기본 키 또는 고유 인덱스가 자동으로 6 바이트의 메인 키 (사용자에 보이지 않는) 메인 인덱스의 데이터 부분을 생성하지 않는 경우, 인덱스는 메인 인덱스의 추가 값을 저장한다. 이노 큰 기본 키 범위의 MyISAM 배의 최대이다.

10) 특정 테이블 로우
의 MyISAM : 저장된 테이블의 행 번호 테이블에서 선택 수 (*) 경우,이 값은 바로 이동한다.
이노 : 테이블의 행에는 수는 테이블에서 SELECT COUNT (*)를 사용하는 경우 (만 통과) 저장하지 않으려면, wehre,의 MyISAM하고 처리를 같은 방식으로 이노 후에는 전체 테이블을 통과합니다, 소비가 매우 크지 만 조건을 추가 .

11) CURD 작업
의 MyISAM : 당신은 선택을 많이 수행하는 경우의 MyISAM은 더 나은 선택이다.
이노 : 당신은 성능상의 이유로, 데이터 INSERT 또는 UPDATE의 큰 숫자를 수행 할 경우, 당신은 InnoDB 테이블을 사용해야합니다. 당신은 데이터의 빈 테이블의 큰 숫자를 저장하려면 InnoDB의 성능 개선에서 삭제할 수 있지만 테이블에서 삭제, InnoDB하지만 이노 디비에 선으로 테이블, 삭제 라인을 다시 설정하지 않습니다, 그것은 테이블 명령을 잘라 사용하는 것이 가장 좋습니다.

12) 외래 키
의 MyISAM이 : 지원하지 않습니다
이노를 : 지원

13) 쿼리 효율
의 MyISAM을 사용하는 수 (*)는 이노보다 훨씬 빠른 곳이 아니다. 하여 카운터에서 직접 읽을 수 (*) 및 InnoDB하지만 전체 테이블을 스캔해야의 MyISAM 내장 된 카운터, 때문에. 그래서 이노에서 실행 카운트 (*)는 일반적 곳 어디 메인 키 이외의 인덱스 항목에 포함 동반. 왜 여기에 "기본 키가 아닌"에 중점을? 보조 인덱스 별도로 저장되는 동안 이노 원시 데이터가 함께 저장되어있는 차 인덱스 때문에, 그 기본 키에 대한 포인터가있다. 그러니 그냥 다음, (*) 계산 보조 인덱스는 빠른 스캔 사용하지만 주로 동시에 기본 키 인덱스 스캔의 경우 원시 데이터 큰 역할을 반환 할 수 있습니다. 의 MyISAM은 비교적 간단하므로 효율은 이노, 작은 응용 프로그램보다의 MyISAM을 사용하는 것이 좋습니다.

위의 분석을 통해, 기본적으로 InnoDB의 자체 좋은 기능이 많이 있기 때문에, 대신의 MyISAM 엔진의 InnoDB의 사용을 고려 트랜잭션 지원, 저장 프로 시저, 뷰, 행 수준 잠금, 그리고, 그래서, 동시에 많은 경우에, 이노을 믿는다 많은 강한 것보다 확실히 더 나은의 MyISAM 성능을 제공합니다. 또한, 테이블에 어떤 종류의 만병 통치약, MySQL의 가장 큰 성능상의 이점을 재생하는 데 사용 테이블 유형에 대한 사업의 오른쪽 유형을 선택할 수있는 유일한 권리가 아닙니다. 이 웹 응용 프로그램, 중요하지 않은 애플리케이션에 매우 복잡한 그렇지 않으면, 우리는 여전히의 MyISAM을 고려 계속,이 상황은 재량권을 소유 할 수 있습니다.

모두의 MyISAM과 InnoDB의 시나리오 :
1)의 MyISAM은 비 트랜잭션 테이블을 관리 할 수 있습니다. 그것은 고속 저장 및 검색뿐만 아니라 전체 텍스트 검색 기능을 제공합니다. 응용 프로그램이 SELECT 쿼리의 큰 숫자를 수행해야하는 경우의 MyISAM 더 나은 선택이 될 것입니다.
트랜잭션 처리 애플리케이션을위한 2) InnoDB는, 그것은 ACID 트랜잭션 지원 등 많은 기능을 가지고 있습니다. 응용 프로그램이 INSERT 또는 UPDATE 작업을 많이 수행 할 필요가있는 경우, 당신은 다중 사용자 동시 작업의 성능을 향상시킬 수있는, 이노을 사용해야합니다.

그러나 실제 시나리오는 특정 문제를 분석의 필요성은 다음과 같은 일반적인 질문을 따를 수 있습니다 :
- 데이터베이스가 외래 키가 있습니까?
- 트랜잭션 지원의 필요성?
- 전체 텍스트 인덱싱에 대한 필요성?
- 자주 데이터베이스 쿼리 패턴의 어떤 종류를 사용합니까? 쓰기에서 한 번에 많은 또는 일부 응용 프로그램 동시의 경우,보다 안정적인 삽입 이노 읽을 수 기본적으로, 읽기 속도가 상대적으로 빠른 애플리케이션 요구 사항 또는 선택의 MyISAM 인 경우.
- 얼마나 많은 데이터를 데이터베이스에? 대형 트랜잭션 로그 때문에, 장애 복구, 이노 경향이있다.

InnoDB는, MySQL 데이터베이스 엔진의 MySQL AB의 표준 바이너리 릴리스 중 하나입니다. 이노는 오라클의 합병에 의해 2006 년 5 월, Innobase 오이 회사에 의해 개발되었다. 전통적인 ISAM과의 MyISAM에 비해, InnoDB는 가장 중요한 기능은 PostgreSQL의 유사 ACID 호환 트랜잭션 (거래) 기능의 지원이다. 현재 InnoDB는 두 개의 트랙 인증 한 GPL 라이센스를 사용하고, 다른 하나는 독점 소프트웨어 라이센스입니다.

의 MyISAM과 InnoDB에 상당한 차이가 사이에, 간단하게 다음과 같이 분류 :
1) 트랜잭션 지원
의 MyISAM은 트랜잭션을 지원하지 않는 반면, 이노 지원. 이노 디비 AUTOCOMMIT이 기본적으로 활성화되어, 즉, 각 SQL 문 기본적으로는,이, 속도에 영향을 미칠 것 트랜잭션, 자동으로 제출에 패키지 그래서 그것은 시작하고, 구성된 트랜잭션을 커밋 사이에 여러 SQL 문을 표시하는 것이 최선이다 제출.

의 MyISAM 비 트랜잭션 안전 및 InnoDB는, 합병 거래는 성능을 크게 향상 여러 제출 데이터베이스에 의한 오버 헤드를 줄일 함께 제출해야 안전한 트랜잭션, 자동 커밋 기본적으로 활성화되어 있습니다.

2) 메모리
의 MyISAM : 디스크에 세 개의 파일에 각각의 MyISAM 스토리지. 확장을 시작하는 테이블의 첫 번째 파일 이름의 이름은 파일 유형을 나타냅니다. .FRM 파일은 테이블을 저장합니다. .MYD (MYDATA)라는 이름의 확장 데이터 파일. 확장 인덱스 파일은 .MYI (MYIndex)입니다.
이노 : 모든 테이블이 동일한 데이터 파일에 저장되어있다가 (하나 개 이상의 파일, 또는 별도의 테이블 공간을 제기 할 수 있습니다), InnoDB의 테이블의 크기 만 운영 체제 파일, 일반적으로 2기가바이트의 크기로 제한됩니다.

3) 기억
의 MyISAM : 적은 저장 공간을 압축 할 수있다. 세 개의 다른 저장 포맷 지원 정적 테이블 (기본하지만 데이터가 마지막에 공백이 없다 제거 될 것임을주의), 동적 테이블 압축 테이블.
InnoDB는 : 그것이 메인 메모리에 데이터를 캐싱 및 인덱스에 대한 자체 전용 버퍼 풀을 만듭니다 더 많은 메모리 및 스토리지를 필요로한다.

4) 휴대 성, 백업 및 복원
의 MyISAM : 데이터를 파일로 저장됩니다, 그것은 플랫폼에서 데이터 전송을 위해 매우 편리 할 것입니다. 그것은 백업 및 복구시 테이블에 대해 개별적으로 작동 할 수 있습니다.
이노 : 무료 프로그램은 상대적으로 고통 G의 수만에, 데이터의 양을 데이터 파일, 백업 바이너리 로그를 복사하거나 mysqldump를 사용할 수 있습니다.

5) 트랜잭션 지원
의 MyISAM : 그것은 몇 배 빠른 InnoDB의 유형과 수행하는 성능, 쿼리가 원자 때마다 강조하지만, 트랜잭션 지원을 제공하지 않습니다.
InnoDB는 : 등 업무 트랜잭션을 지원하는 고급 데이터베이스 기능, 외래 키 등을 제공합니다. 트랜잭션 (커밋), 안전한 트랜잭션 롤백 (롤백) 및 (트랜잭션 안전 (ACID를 준수)의 충돌 수리 능력 (충돌 복구 기능)와 함께테이블을 입력합니다.

6) AUTO_INCREMENT의
의 MyISAM : 우리는 공동 인덱스 및 기타 분야를 함께 구축 할 수 있습니다. 인덱스가 첫 번째 열에하지 않을 수 있습니다 자동 증가의 조합, 그는 이전 컬럼의 종류에 따라 증가 될 수있는 경우 컬럼의 자동 성장 엔진은 인덱스해야합니다.
이노 : 이노 필드의 인덱스를 포함해야합니다. 인덱스는 또한 지수의 첫번째 열이어야 조합 인 경우 자동 열 성장 엔진은 인덱스이어야한다.

7) 테이블 잠금의 차이
의 MyISAM은 : 전용 테이블 수준 잠금, 동작 테이블에 사용자의 MyISAM을 지원, 업데이트, 삭제, 선택 문이 자동으로 나중에 동시 삽입 테이블 대회의 경우, 테이블에 잠긴 경우, 당신은 할 수 잠겨 삽입 목록의 끝은 새로운 데이터를 삽입합니다.
InnoDB는 : 트랜잭션 및 행 수준 잠금 이노의 가장 중요한 기능입니다 지원합니다. 행 잠금은 크게 새로운 에너지의 다중 사용자 동시 작업을 향상시킬 수 있습니다. 그러나, WHERE의 기본 키를 제외한 이노 행 잠금은 전체 테이블을 잠글 것 WHERE에 효과적인 비 기본 키입니다.

InnoDB하지만 행 수준 잠금을 지원하는 동안의 MyISAM은 테이블 수준 잠금 단위입니다. 단순히, InnoDB의 지원 데이터 라인 잠금, 행 잠금의 MyISAM 지원하지 않는, 지원은 전체 테이블을 잠급니다. 그의 MyISAM 읽기 및 쓰기 잠금을 같은 테이블에 있습니다 상호 배타적 인,의 MyISAM 동시 읽을 때 쓰기 요청이 읽는 첫번째 경우에도 읽기 요청, 기본 쓰기 요청 높은 우선 순위를 요청이있는 경우 그래서, 대기 큐에 모두 쓰기 긴 조회 프로세스가 차단됩니다로의 MyISAM은 쿼리의 큰 숫자에 적합하지 않은 상황의 공존을 수정합니다. MyISAM 테이블이 잠겨 있기 때문에, 그래서 작업은 시간이 많이 걸리는 쓰기 과정을 읽어 다른 굶어 것입니다.

8) 전체 텍스트 인덱스
의 MyISAM : 지원 (전체 텍스트 형) 전체 텍스트 인덱스
InnoDB는 : 전체 텍스트 인덱싱 (전체 텍스트 형식)를 지원하지 않습니다,하지만 당신은 스핑크스 이노 플러그인이 전체 텍스트 인덱싱 및 더 나은 지원 사용할 수 있습니다.

전체 텍스트 인덱스 (정지 단어 제외) 각 단어에 대한 CHAR, VARCHAR, 텍스트에 대한 반대 순서 인덱스의 설립을 의미합니다. 그것은 중국어 단어는 사용자가 작성해야 지원하고 워드 데이터 테이블 뒤에 공백을 추가하고, 중지 단어는 무시됩니다 미만으로 75 개 문자와 단어가 동일하지 않기 때문에의 MyISAM 전체 텍스트 인덱싱은 실제로 무의미하다.

또한, 독특한, InnoDB의 데이터 파일 자체의 성격까지 인덱스 및 데이터 분리의 MyISAM, 자연 이노 함께, 클러스터되지 않은 인덱스의 MyISAM는 기본 키 인덱스 파일이 인덱스는 "클러스터 인덱스"라고이다

9) 기본 키 테이블
의 MyISAM는 : 어떤 인덱스 테이블을 허용하고 기본 키 인덱스의 존재는 어드레스 선에 저장되지.
이노 없음 비 - 널 기본 키 또는 고유 인덱스가 자동으로 6 바이트의 메인 키 (사용자에 보이지 않는) 메인 인덱스의 데이터 부분을 생성하지 않는 경우, 인덱스는 메인 인덱스의 추가 값을 저장한다. 이노 큰 기본 키 범위의 MyISAM 배의 최대이다.

10) 특정 테이블 로우
의 MyISAM : 저장된 테이블의 행 번호 테이블에서 선택 수 (*) 경우,이 값은 바로 이동한다.
이노 : 테이블의 행에는 수는 테이블에서 SELECT COUNT (*)를 사용하는 경우 (만 통과) 저장하지 않으려면, wehre,의 MyISAM하고 처리를 같은 방식으로 이노 후에는 전체 테이블을 통과합니다, 소비가 매우 크지 만 조건을 추가 .

11) CURD 작업
의 MyISAM : 당신은 선택을 많이 수행하는 경우의 MyISAM은 더 나은 선택이다.
이노 : 당신은 성능상의 이유로, 데이터 INSERT 또는 UPDATE의 큰 숫자를 수행 할 경우, 당신은 InnoDB 테이블을 사용해야합니다. 당신은 데이터의 빈 테이블의 큰 숫자를 저장하려면 InnoDB의 성능 개선에서 삭제할 수 있지만 테이블에서 삭제, InnoDB하지만 이노 디비에 선으로 테이블, 삭제 라인을 다시 설정하지 않습니다, 그것은 테이블 명령을 잘라 사용하는 것이 가장 좋습니다.

12) 외래 키
의 MyISAM이 : 지원하지 않습니다
이노를 : 지원

13) 쿼리 효율
의 MyISAM을 사용하는 수 (*)는 이노보다 훨씬 빠른 곳이 아니다. 하여 카운터에서 직접 읽을 수 (*) 및 InnoDB하지만 전체 테이블을 스캔해야의 MyISAM 내장 된 카운터, 때문에. 그래서 이노에서 실행 카운트 (*)는 일반적 곳 어디 메인 키 이외의 인덱스 항목에 포함 동반. 왜 여기에 "기본 키가 아닌"에 중점을? 보조 인덱스 별도로 저장되는 동안 이노 원시 데이터가 함께 저장되어있는 차 인덱스 때문에, 그 기본 키에 대한 포인터가있다. 그러니 그냥 다음, (*) 계산 보조 인덱스는 빠른 스캔 사용하지만 주로 동시에 기본 키 인덱스 스캔의 경우 원시 데이터 큰 역할을 반환 할 수 있습니다. 의 MyISAM은 비교적 간단하므로 효율은 이노, 작은 응용 프로그램보다의 MyISAM을 사용하는 것이 좋습니다.

위의 분석을 통해, 기본적으로 InnoDB의 자체 좋은 기능이 많이 있기 때문에, 대신의 MyISAM 엔진의 InnoDB의 사용을 고려 트랜잭션 지원, 저장 프로 시저, 뷰, 행 수준 잠금, 그리고, 그래서, 동시에 많은 경우에, 이노을 믿는다 많은 강한 것보다 확실히 더 나은의 MyISAM 성능을 제공합니다. 또한, 테이블에 어떤 종류의 만병 통치약, MySQL의 가장 큰 성능상의 이점을 재생하는 데 사용 테이블 유형에 대한 사업의 오른쪽 유형을 선택할 수있는 유일한 권리가 아닙니다. 이 웹 응용 프로그램, 중요하지 않은 애플리케이션에 매우 복잡한 그렇지 않으면, 우리는 여전히의 MyISAM을 고려 계속,이 상황은 재량권을 소유 할 수 있습니다.

모두의 MyISAM과 InnoDB의 시나리오 :
1)의 MyISAM은 비 트랜잭션 테이블을 관리 할 수 있습니다. 그것은 고속 저장 및 검색뿐만 아니라 전체 텍스트 검색 기능을 제공합니다. 응용 프로그램이 SELECT 쿼리의 큰 숫자를 수행해야하는 경우의 MyISAM 더 나은 선택이 될 것입니다.
트랜잭션 처리 애플리케이션을위한 2) InnoDB는, 그것은 ACID 트랜잭션 지원 등 많은 기능을 가지고 있습니다. 응용 프로그램이 INSERT 또는 UPDATE 작업을 많이 수행 할 필요가있는 경우, 당신은 다중 사용자 동시 작업의 성능을 향상시킬 수있는, 이노을 사용해야합니다.

그러나 실제 시나리오는 특정 문제를 분석의 필요성은 다음과 같은 일반적인 질문을 따를 수 있습니다 :
- 데이터베이스가 외래 키가 있습니까?
- 트랜잭션 지원의 필요성?
- 전체 텍스트 인덱싱에 대한 필요성?
- 자주 데이터베이스 쿼리 패턴의 어떤 종류를 사용합니까? 쓰기에서 한 번에 많은 또는 일부 응용 프로그램 동시의 경우,보다 안정적인 삽입 이노 읽을 수 기본적으로, 읽기 속도가 상대적으로 빠른 애플리케이션 요구 사항 또는 선택의 MyISAM 인 경우.
- 얼마나 많은 데이터를 데이터베이스에? 대형 트랜잭션 로그 때문에, 장애 복구, 이노 경향이있다.

추천

출처www.cnblogs.com/geogre123/p/10929961.html