Évidemment, les deux ont leurs avantages. Myisam est rapide, mais peut être réduit facilement, Innodb est lent mais est plus stable grâce aux transactions et aux clés étrangères. Cela pourrait donc être bon de mélanger les deux moteurs dans une base de données. Si c'est possible? P>
3 Réponses :
N'oubliez pas! Il est correct de mélanger les types de table dans la même base de données! En fait, il est recommandé et fréquemment requis. Cependant, il est important de noter que si vous rencontrez des problèmes de performance lorsque vous rejoignez les deux types, essayez de convertir l'une à l'autre et voyez si cela le corrige. Cette question n'arrive pas souvent mais elle a été rapportée. P> blockQuote>
pris de mySQL - innodb vs myisam p>
Son ok pour mélanger des types de table comme vous l'avez dit. Mais le mélange de types de table dans les transactions doit être évité.
Bien sûr, c'est possible.
CREATE TABLE MyISAM_tbl( .... )ENGINE=MyISAM; CREATE TABLE InnoDB_tbl ( .... )ENGINE=InnoDB;
dans un mot oui. (Créer une table vous permet de spécifier le type de moteur.) P>
Cependant, vous devez prendre soin de vous demander lorsque vous interrogez plusieurs types de table. (Par exemple, vous ne pouvez pas profiter des clés étrangères sur Myisam et vous ne pouvez pas commettre une transaction qui affecte les tables myisam, etc.) p>
Essentiellement, je soupçonne que cela pourrait ne pas être la meilleure approche à prendre. (Sauf si vous avez besoin que des transactions sur un ensemble de tables définies segmentées à partir du reste de votre base de données et InnoDB est trop lente, obtenez un serveur de base de données plus rapide peut bien se passer pour être moins douloureux.) P>