En savoir plus sur Moteurs de stockage .
MonISAM :
Le MyISAM moteur de stockage dans MySQL.
- Plus simple à concevoir et à créer, donc plus adapté aux débutants. Ne vous inquiétez pas des relations étrangères entre les tables.
- Plus rapide qu'InnoDB dans l'ensemble en raison de la structure plus simple donc beaucoup moins de coûts de ressources serveur. -- Généralement plus vrai.
- Indexation de texte intégral. -- InnoDB l'a maintenant
- Particulièrement adapté aux tables à lecture intensive (select). -- Généralement plus vrai.
- L'empreinte disque est 2 à 3 fois inférieure à celle d'InnoDB. -- À partir de la version 5.7, c'est peut-être le seul véritable avantage de MyISAM.
InnoDB :
Le InnoDB moteur de stockage dans MySQL.
- Prise en charge des transactions (vous offrant une prise en charge de l'ACID propriété).
- Verrouillage au niveau de la ligne. Avoir un mécanisme de verrouillage plus fin vous donne une concurrence plus élevée par rapport, par exemple, à MyISAM .
- Contraintes de clé étrangère. Vous permettant de laisser la base de données assurer l'intégrité de l'état de la base de données et les relations entre les tables.
- InnoDB est plus résistant à la corruption de table que MyISAM.
- Prise en charge d'un grand pool de mémoire tampon pour les données et les index. Le tampon de clé MyISAM est uniquement pour les index.
- MyISAM stagne ; toutes les améliorations futures seront dans InnoDB. Cela a été rendu très clair avec le déploiement de la version 8.0.
Limites de MyISAM :
- Pas de clés étrangères ni de suppressions/mises à jour en cascade
- Aucune intégrité transactionnelle (conformité ACID)
- Aucune capacité de restauration
- Limite de 4 284 867 296 lignes (2^32) :il s'agit de l'ancien par défaut . La limite configurable (pour de nombreuses versions) était de 2**56 octets.
- Maximum de 64 index par table
Limites d'InnoDB :
- Pas d'indexation de texte intégral (version mysql inférieure à 5.6)
- Ne peut pas être compressé pour un accès rapide en lecture seule (5.5.14 introduit
ROW_FORMAT=COMPRESSED
) - Vous ne pouvez pas réparer une table InnoDB
Pour une brève compréhension, lisez les liens ci-dessous :
- Moteurs MySQL :InnoDB vs. MyISAM - Une comparaison des avantages et des inconvénients
- Moteurs MySQL :MyISAM contre InnoDB
- Quelles sont les principales différences entre InnoDB et MyISAM ?
- MyISAM contre InnoDB
- Quelle est la différence entre MyISAM et InnoDB ?
- MySql :MyISAM contre Inno DB !