Utilizza sempre InnoDB per impostazione predefinita.
In MySQL 5.1 successivo, dovresti usare InnoDB. In MySQL 5.1, dovresti abilitare il plug-in InnoDB . In MySQL 5.5, il plug-in InnoDB è abilitato per impostazione predefinita, quindi usalo.
Il consiglio anni fa era che MyISAM era più veloce in molti scenari. Ma questo non è più vero se usi una versione corrente di MySQL.
Potrebbero esserci alcuni casi esotici in cui MyISAM funziona leggermente meglio per determinati carichi di lavoro (ad es. scansioni di tabelle o lavoro solo INSERT ad alto volume), ma la scelta predefinita dovrebbe essere InnoDB a meno che tu non possa dimostrare hai un caso che MyISAM fa meglio.
I vantaggi di InnoDB oltre al supporto per le transazioni e le chiavi esterne che di solito viene menzionato includono:
- InnoDB è più resistente alla corruzione delle tabelle rispetto a MyISAM.
- Blocco a livello di riga. In MyISAM, i lettori bloccano gli scrittori e viceversa.
- Supporto per pool di buffer di grandi dimensioni sia per i dati che per gli indici. Il buffer delle chiavi MyISAM è solo per gli indici.
- MyISAM è stagnante; tutto lo sviluppo futuro sarà in InnoDB.
Vedi anche la mia risposta a MyISAM contro InnoDB