2009-12-28 4 views

Répondre

17

RAPPELEZ-VOUS! C'est bien de mélanger les types de tables dans la même base de données! En fait, il est recommandé et fréquemment nécessaire. Cependant, il est important de noter que si vous rencontrez des problèmes de performances lorsque vous joignez les deux types, essayez de convertir l'un à l'autre et voyez si cela résout le problème. Ce problème ne se produit pas souvent, mais il a été signalé.

Taken de MySQL - InnoDB vs MyISAM

+1

son ok pour mélanger les types de table comme vous l'avez dit. mais le mélange des types de tables dans les transactions doit être évité. –

5

Bien sûr, cela est possible.

CREATE TABLE MyISAM_tbl(
    .... 
)ENGINE=MyISAM; 

CREATE TABLE InnoDB_tbl (
    .... 
)ENGINE=InnoDB; 

Je le fais tout le temps, parce que je préfère InnoDB pour les FKs, mais je dois parfois MyISAM pour la recherche en texte intégral. Je n'ai jamais eu de problème.

1

En un mot oui. (CREATE TABLE vous permet de spécifier le type de moteur.)

Cependant, vous devez faire attention lorsque vous interrogez plusieurs types de tables. (Par exemple, vous ne pouvez pas utiliser les clés étrangères sur MyISAM et vous ne pouvez pas valider une transaction affectant les tables MyISAM, etc.)

En substance, je ne pense pas que ce soit la meilleure approche à adopter. (À moins que vous n'ayez besoin de transactions pour un ensemble défini de tables segmentées du reste de votre base de données et qu'InnoDB soit trop lent, obtenir un serveur de base de données plus rapide peut être moins douloureux.)

Questions connexes