MyISAM과 InnoDB 테이블을 같은 데이터베이스에 둘 수 있습니다. 그래도 큰 테이블을 가지고있을 때, MyISAM은 테이블 잠금 문제를 일으킬 것입니다. 이것이 궁극적으로하는 것은 단일 트랜잭션에 대해 전체 테이블을 잠그기 때문에 웹 사이트를 사용하는 사용자가 많으면 매우 나쁩니다. 예를 들어 사이트에서 사용자가 뭔가를 검색하고 쿼리가 완료되는 데 몇 분이 걸리는 경우 전체 테이블이 잠겨 있기 때문에이 기간 동안 다른 사용자가 사이트를 사용할 수 없습니다.
반면에 InnoDB는 행 레벨 잠금을 사용합니다. 즉, 트랜잭션 중에 테이블에서 잠긴 유일한 행입니다. InnoDB는 MyISAM과 같은 전문 검색 기능을 제공하지 않기 때문에 검색 속도가 느려질 수 있습니다. 그러나 MyISAM의 테이블 수준 잠금과 비교할 때 큰 문제는 아닙니다. 많은 대형 사이트와 마찬가지로 InnoDB를 사용하는 경우 Sphinx과 같은 서버 측 검색 엔진을 전체 텍스트 검색에 사용할 수 있습니다. 또는 f00
과 같은 검색을하기 위해 MyISAM 테이블을 사용할 수도 있습니다. 개인적으로 행 레벨 잠금 기능 때문에 InnoDB를 주로 추천했지만, 다른 많은 방법으로 전체 텍스트 검색을 구현할 수 있기 때문에 개인적으로 InnoDB를 추천했습니다.
기본적으로 많은 선택, 삽입 및 업데이트가 포함 된 메시지 보드 응용 프로그램이있는 경우 일반적으로 InnoDB가 일반적으로 적합합니다. 그런 것 (또는 등록 된 사용자가있는 다른 것)과 정적 인 콘텐츠 (또는 쓰기보다 많은 읽기)로 작업하는 경우 MyISAM을 사용할 수 있습니다.
클러스터 기본 키 인덱스는 무엇인가? http://dev.mysql.com/doc/refman/5.0/en/innodb-index-types.html 클러스터 된 기본 키 인덱스가 정상적인 btree 인덱스보다 나은 이유는 무엇입니까? http://stackoverflow.com/questions/4419499/mysql-nosql-help-me-to-choose-the-right-one-on-a/4421601#4421601 –