En particulier, comment choisissez-vous entre MyISAM et InnoDB, quand aucune des fonctionnalités requises ne manque (par exemple, vous n'avez pas besoin de clés étrangères).
Cela revient-il toujours à essayer les deux et à mesurer? Ou existe-t-il de bonnes règles empiriques concernant le nombre et la fréquence des lectures par rapport aux écritures, et d'autres mesures de ce genre? La taille de la table a-t-elle un effet sur le choix type?
S'il ne s'agit que d'un simple système de stockage / rapport, j'utilise MyISAM pour ses performances brutes.
J'utiliserais InnoDB si j'étais préoccupé par plusieurs accès simultanés avec beaucoup d'écritures, pour profiter du verrouillage au niveau de la ligne.
la source
Il existe un bon nombre de références pour différents moteurs de base de données MySQL. Il y en a un décent comparant MyISAM, InnoDB et Falcon sur le blog Percona MySQL Performance , voir ici .
Une autre chose à considérer entre les deux moteurs susmentionnés (MyISAM et InnoDB) est leur approche du verrouillage. MyISAM effectue le verrouillage de table, tandis qu'InnoDB effectue le verrouillage de ligne. Il y a une variété de choses à considérer, pas seulement des chiffres de performance.
la source
Il existe des fonctionnalités que vous trouverez très utiles, pour des raisons opérationnelles, même si votre application n'en a pas absolument besoin:
Donc, malgré les contraintes de clé étrangère, vous voudrez probablement utiliser InnoDB de toute façon.
bien sûr, c'est ServerFault, pas Stack Overflow, donc la bonne réponse est:
la source
Mon hébergeur nous a conseillé de nous débarrasser complètement de MyISAM et de passer à InnoDB, sauf si cela n'est pas possible.
Dans notre cas, nous avions une corruption de données grave qui commençait à apparaître de quelques fois à quelques fois par jour, nécessitant toujours REPAIR TABLE et les commandes associées, ce qui prenait du temps sur de grandes tables.
Une fois que nous avons converti (ou: avons été convertis) en InnoDB, les problèmes ont disparu instantanément. Inconvénients / mises en garde que nous avions:
Mais notez: tout cela est spécifique à notre environnement, etc., donc cela peut ne pas s'appliquer généralement.
la source