Je comprends que cette question a déjà été posée, mais la plupart du temps, elle concerne une firebase database ou un tableau spécifique. Je ne trouve pas de réponse sur ce site qui décrit les deux moteurs et leurs différences sans respect pour la firebase database spécifique de quelqu’un.
Je souhaite pouvoir prendre des décisions plus éclairées à l’avenir en ce qui concerne la conception d’un tableau ou d’une firebase database. Je recherche donc une réponse complète aux différences entre les deux moteurs de stockage.
Quelle est la différence entre MyISAM et InnoDB , et que devrais-je rechercher en essayant de choisir l’un ou l’autre?
Les principales différences entre InnoDB et MyISAM («en ce qui concerne la conception d’une table ou d’une firebase database») sont la prise en charge de «l’intégrité référentielle» et des «transactions».
Si vous avez besoin de la firebase database pour appliquer des contraintes de clé étrangère ou si vous avez besoin de la firebase database pour prendre en charge les transactions (modifications apscopes par deux ou plusieurs opérations DML traitées comme une seule unité de travail vous choisirez alors le moteur InnoDB, car ces fonctionnalités sont absentes du moteur MyISAM.
Ce sont les deux plus grandes différences. Une autre grande différence est la concurrence. Avec MyISAM, une instruction DML obtiendra un verrou exclusif sur la table et, tant que ce verrou sera maintenu, aucune autre session ne pourra effectuer une opération SELECT ou DML sur la table.
Les deux moteurs spécifiques dont vous avez parlé (InnoDB et MyISAM) ont des objectives de conception différents. MySQL a également d’autres moteurs de stockage, avec leurs propres objectives de conception.
Ainsi, en choisissant entre InnoDB et MyISAM, la première étape consiste à déterminer si vous avez besoin des fonctionnalités fournies par InnoDB. Si non, alors MyISAM est à l’étude.
Une discussion plus détaillée des différences est plutôt impraticable (dans ce forum) en l’absence d’une discussion plus détaillée de l’espace problème … comment l’application utilisera la firebase database, combien de tables, taille des tables, charge de transaction, volumes de sélection , insérer, mettre à jour, exigences de concurrence, fonctionnalités de réplication, etc.
La conception logique de la firebase database devrait être axée sur l’parsing des données et les besoins des utilisateurs. le choix d’utiliser une firebase database relationnelle viendrait plus tard, et même plus tard, le choix de MySQL comme système de gestion de firebase database relationnelle, puis la sélection d’un moteur de stockage pour chaque table.
MYISAM:
INNODB: