MyISAM과 InnoDB를 언제 사용해야합니까? [복제]
이 질문에는 이미 답변이 있습니다.
- MyISAM vs InnoDB [닫기] 25 답변
MyISAM은 데이터베이스가 업데이트 된 것보다 훨씬 더 많이 쿼리되어 매우 빠른 읽기 작업을 수행 할 수 있도록 설계되었습니다. 읽기 / 쓰기 (삽입 | 업데이트) 비율이 15 % 미만이면 MyISAM을 사용하는 것이 좋습니다.
InnoDB는 행 수준 잠금, 커밋, 롤백 및 응급 복구 기능을 사용하여 사용자 데이터를 보호합니다. 트랜잭션 및 내결함성을 지원합니다
MyISAM과 InnobDB의 차이점이 맞습니까? MYISAM 및 InnobDB에 대한 다른 제한 사항이 있으면 안내하십시오. 언제 MyiSAM을 사용해야합니까? 감사합니다!
스토리지 엔진 에 대해 읽어보십시오 .
MyISAM :
MySQL 의 MyISAM 스토리지 엔진.
- 설계 및 제작이 더 간단하여 초보자에게 더 좋습니다. 테이블 간의 외부 관계에 대해 걱정할 필요가 없습니다.
- 구조가 단순하여 서버 리소스 비용이 훨씬 적기 때문에 InnoDB보다 빠릅니다. -대부분 더 이상 사실이 아닙니다.
- 전체 텍스트 인덱싱 -이제 InnoDB에 있습니다
- 특히 읽기 집약적 (선택) 테이블에 적합합니다. -대부분 더 이상 사실이 아닙니다.
- 디스크 풋 프린트는 InnoDB보다 2 ~ 3 배 적습니다. -버전 5.7부터 이것은 아마도 MyISAM의 유일한 장점 일 것입니다.
InnoDB :
MySQL 의 InnoDB 스토리지 엔진.
- 트랜잭션 지원 ( ACID 속성에 대한 지원 제공 )
- 행 수준 잠금. 보다 세밀한 잠금 메커니즘을 사용하면 예를 들어 MyISAM 과 비교하여 더 높은 동시성이 제공 됩니다.
- 외래 키 제약 데이터베이스가 데이터베이스 상태 및 테이블 간의 관계의 무결성을 보장 할 수 있도록합니다.
- InnoDB는 MyISAM보다 테이블 손상에 더 강합니다.
- 데이터 및 인덱스 모두에 대해 큰 버퍼 풀을 지원합니다. MyISAM 키 버퍼는 인덱스 전용입니다.
- MyISAM은 정체되어 있습니다. 향후 모든 개선 사항은 InnoDB에서 이루어집니다. 버전 8.0의 롤아웃을 통해이를 명확하게 알 수 있습니다.
MyISAM 제한 사항 :
- 외래 키 및 계단식 삭제 / 업데이트 없음
- 트랜잭션 무결성 없음 (ACID 준수)
- 롤백 능력 없음
- 4,284,867,296 행 제한 (2 ^ 32)-이것은 기본 설정 입니다. 구성 가능한 한계 (많은 버전)는 2 ** 56 바이트입니다.
- 테이블 당 최대 64 개의 인덱스
InnoDB 제한 사항 :
- 전체 텍스트 인덱싱 없음 (5.6 이하의 MySQL 버전)
- 빠른 읽기 전용으로 압축 할 수 없습니다 (5.5.14 도입
ROW_FORMAT=COMPRESSED
) - InnoDB 테이블을 복구 할 수 없습니다
간단한 이해를 위해 아래 링크를 읽으십시오.
- MySQL 엔진 : InnoDB vs. MyISAM – 장단점 비교
- MySQL 엔진 : MyISAM 및 InnoDB
- InnoDB와 MyISAM의 주요 차이점은 무엇입니까?
- MyISAM과 InnoDB
- MyISAM과 InnoDB의 차이점은 무엇입니까?
- MySql : MyISAM과 Inno DB!
매우 중요하지 않은 데이터 나 최소한의 성능 이점이 필요한 경우 MyISAM을 사용하십시오. MyISAM의 모든 경우에 읽기 성능이 더 좋은 것은 아닙니다.
개인적으로는 더 이상 MyISAM을 전혀 사용하지 않을 것입니다. 더 많은 성능이 필요한 경우 InnoDB를 선택하고 더 많은 하드웨어를 사용하십시오. 다른 아이디어는 적용 가능한 경우 PostgreSQL과 같은 더 많은 기능을 가진 데이터베이스 시스템을 보는 것입니다.
편집 : 읽기 성능을 위해이 링크는 innoDB가 종종 MyISAM보다 느리지 않음을 보여줍니다 . http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part -1/
참고 URL : https://stackoverflow.com/questions/15678406/when-to-use-myisam-and-innodb
'Programing' 카테고리의 다른 글
'.'는 무엇입니까 (0) | 2020.07.06 |
---|---|
MSTest에서 여러 매개 변수로 테스트 방법을 실행하는 방법은 무엇입니까? (0) | 2020.07.06 |
iOS에서 합성 된 속성의 이름을 밑줄로 바꾸는 이유는 무엇입니까? (0) | 2020.07.06 |
FFmpeg로 이미지에서 비디오를 만드는 방법은 무엇입니까? (0) | 2020.07.06 |
R에 data.frame을 저장하는 방법? (0) | 2020.07.06 |