답변:
정답은 항상 가능한 경우 자신의 데이터와 작업량으로 측정하는 것이 좋습니다.
데이터 액세스 패턴은 앱마다 크게 다를 수 있으므로 모든 워크로드에 대해 "최상의"스토리지 엔진을 결정하는 것은 어렵습니다.
그러나 지난주 MySQLConf / Percona Performance Conf에 참석 한 MySQL 공간에서 매우 고무적인 개발이 이루어지고 있습니다.
대체 스토리지 엔진 중 일부 :
또한 Percona, Google 등은 InnoDB 성능에 큰 도움이되는 패치를 제공했습니다. 개인적으로 OurDelta 빌드를 실행합니다. 그것은 나에게 잘 작동하며 OurDelta 및 Percona 빌드를 확인하는 것이 좋습니다.
단순한 상점 / 보고서 시스템이라면 MyISAM을 원시 성능으로 사용합니다.
행 수준 잠금을 활용하기 위해 많은 쓰기로 여러 동시 액세스에 관심이있는 경우 InnoDB를 사용합니다.
응용 프로그램에서 절대적으로 요구하지 않는 경우에도 운영상의 이유로 매우 유용한 기능이 있습니다.
따라서 외래 키 제약 조건에도 불구하고 어쨌든 InnoDB를 사용하고 싶을 것입니다.
물론 이것은 스택 오버플로가 아닌 ServerFault이므로 올바른 대답은 다음과 같습니다.
호스팅 제공 업체는 MyISAM을 완전히 제거하고 가능하지 않은 경우 InnoDB로 전환하라고 조언했습니다.
우리의 경우에는 하루에 몇 번에서 몇 번까지 심각한 데이터 손상이 발생하기 때문에 항상 REPAIR TABLE 및 관련 명령이 필요합니다.
일단 우리가 InnoDB로 변환 (또는 변환)되면 문제는 즉시 사라졌습니다. 우리가 가진 단점 / 구멍 :
그러나 참고 : 이것은 우리 환경 등에 따라 다르므로 일반적으로 적용되지 않을 수 있습니다.