Mysql
 sql >> Base de données >  >> RDS >> Mysql

Quand utiliser MyISAM et InnoDB ?

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 :

  1. Moteurs MySQL :InnoDB vs. MyISAM - Une comparaison des avantages et des inconvénients
  2. Moteurs MySQL :MyISAM contre InnoDB
  3. Quelles sont les principales différences entre InnoDB et MyISAM ?
  4. MyISAM contre InnoDB
  5. Quelle est la différence entre MyISAM et InnoDB ?
  6. MySql :MyISAM contre Inno DB !