Använd alltid InnoDB som standard.
I MySQL 5.1 senare bör du använda InnoDB. I MySQL 5.1 bör du aktivera InnoDB plugin . I MySQL 5.5 är InnoDB-pluginen aktiverad som standard så använd den bara.
Råden för år sedan var att MyISAM var snabbare i många scenarier. Men det är inte längre sant om du använder en aktuell version av MySQL.
Det kan finnas några exotiska hörnfall där MyISAM presterar marginellt bättre för vissa arbetsbelastningar (t.ex. tabellsökningar eller högvolymsarbete endast INSERT), men standardvalet bör vara InnoDB om du inte kan bevisa du har ett fall att MyISAM gör det bättre.
Fördelarna med InnoDB förutom stödet för transaktioner och främmande nycklar som brukar nämnas inkluderar:
- InnoDB är mer motståndskraftig mot tabellkorruption än MyISAM.
- Låsning på radnivå. I MyISAM blockerar läsare skribenter och vice versa.
- Stöd för stor buffertpool för både data och index. MyISAM-nyckelbuffert är endast för index.
- MyISAM är stillastående; all framtida utveckling kommer att ske i InnoDB.
Se även mitt svar på MyISAM kontra InnoDB