2010-03-11 10 views
4

quelle est la différence entre InnoDB et MyISAM. Lequel je peux aller pour? les zones où l'on fournit et d'autres ne fournissent pas? Y at-il des limitations technologiques dans l'un des deux types? S'il vous plaît aidez-moi à choisir le bon type pour mon projet?quelle est la différence entre InnoDB et MyISAM

+0

double: http://stackoverflow.com/questions/277440/mysql-myisam-vs-inno-db –

+0

Une autre double: http://stackoverflow.com/questions/20148/myisam-versus-innodb –

+0

@Taylor , pouvez-vous s'il vous plaît me dire comment vous assurer que ce poste ne devrait pas être un doublon? – gmhk

Répondre

5

Il existe plusieurs différences, mais le plus important que je peux penser sont:

  • InnoDB est un moteur Transactionnelle - dire qu'il prend en charge les transactions
  • InnoDB supporte les clés étrangères
  • MyISAM ne fait que serrure au niveau de la table - InnoDB ne verrouille au niveau de la ligne


les wikipedia entry on InnoDB listes un couple si différences - dont je n'ai pas parlé ;-)

Et vous pourriez être intéressé par la section Chapter 13. Storage Engines du manuel de MySQL, ce qui n'est probablement pas une mauvaise référence quand il s'agit de InnoDB et MyISAM.
Surtout, je dirais:

+0

@pascal Voulez-vous dire que InnoDB fournit l'accès au verrou sur l'accès aux tables et aux lignes, ce qui signifie que lorsqu'un utilisateur effectue une opération d'insertion ou de mise à jour, je peux empêcher l'accès à cette table. – gmhk

+0

@hagrim: d'après ce que je me rappelle, avec MyISAM, quand quelqu'un effectue une écriture, il verrouille toute la table * (empêchant toute autre écriture) * - avec InnoDB, dans au moins certains cas, il ne verrouille que les lignes affectées * (permettant à d'autres personnes d'écrire sur d'autres lignes, non verrouillées) * –

1

Le MySQL Docs offrent une belle course vers le bas et cas d'utilisation. Le moteur de stockage que vous choisissez dépend de l'utilisation que vous en faites. La plus grande différence est que innodb prend en charge les transactions conformes à l'ACID et le verrouillage au niveau des lignes.

1

Une autre différence importante: jusqu'à présent, MyISAM prend en charge la recherche fulltext, mais pas InnoDB. Donc, si vous voulez avoir un index de recherche efficace sur les colonnes de texte, vous devez utiliser MyISAM ou pirater.

Questions connexes