2011-09-26 3 views
1

Comme je n'ai pas plus de connaissances que d'habitude sur les moteurs MyISAM, InnoDB, donc je suis dans la confusion quel moteur utiliser pour mon grand projet, oùMyISAM ou InnoDB à utiliser pour mon grand projet, pour faire plusieurs travaux à la fois

1) 3000 minimum les utilisateurs se connecteront leur compte à la fois (dans les heures)

2) et faire un travail comme mise à jour, de suppression des données de leur compte, etc.

Je m sur l'hôte partagé. Quelqu'un peut-il me donner une réponse précise que quel moteur dois-je utiliser pour un traitement plus rapide pour les conditions ci-dessus.

quel moteur de base de données va accélérer au-dessus des œuvres? toute aide plz?

+1

double possible de [Quand il est temps pour une table pour passer de MyISAM à InnoDB?] (Http://stackoverflow.com/questions/1729806/when-it-is-time-for -a-table-to-change-from-myisam-to-innodb) – webbiedave

+1

duplication possible de [Combien de temps est MyISAM comparé à InnoDB?] (http://stackoverflow.com/questions/1970420/how-much-faster -is-myisam-comparé-à-innodb) – webbiedave

Répondre

5

Votre application utilise-t-elle des clés étrangères? Si c'est le cas, vous devrez utiliser le moteur InnoDB. Si ce n'est pas le cas, vous pouvez utiliser le moteur MyISAM.


S'il y a beaucoup de modifications des données, on dit qu'InnoDB fonctionne plus vite car il utilise le verrouillage de ligne au lieu du verrouillage de table, comme MyISAM. Cependant, s'il existe principalement des instructions SELECT, une table MyISAM peut être plus rapide.

Cependant, il est toujours important de connaître les besoins d'une table spécifique. Je choisirais donc le moteur de stockage qui correspond le mieux aux exigences de la table donnée. Si vous avez besoin de contraintes ou de transactions de clés étrangères, vous ne pouvez utiliser InnoDB que si vous avez besoin d'index fulltext, vous ne pouvez utiliser que des tables MyISAM pour le moment.

Avec la réplication, il est même possible de tirer parti des deux moteurs de stockage sur une table. Par exemple, le maître peut stocker une table comme InnoDB qui le rend rapide pour INSERTs, UPDATEs et DELETE alors que l'esclave (s) pourrait stocker la même table que MyISAM et offrir la meilleure performance pour SELECTs.

Source

2

les deux moteurs ont des avantages et des inconvénients

  1. MyISAM

    • MyISAM est très simple à utiliser, il est donc facile d'écrire des outils tiers d'interagir avec elle .
    • myisam ont été autour pendant un certain temps il est fortement optimisé
    • MyISAM utilise moins de mémoire que InnoDB et les fichiers de données réelles sont souvent un peu plus grand pour InnoDB
  2. InnoDB

    • performance: vous pouvez lire ce blog sur la performance d'innodb contre myisam et faucon http://www.mysqlperformanceblog.com/2007/01/08/innodb-vs-myisam-vs-falcon-benchmarks-part-1/

    • InnoDB est un moteur largement ACID (Atomicité, Consistance, Isolation, Durabilité), il supporte les transactions

    • InnoDB peut exécuter un travail de sauvegarde en une seule transaction et générer des sauvegardes cohérentes à l'échelle de la base de données avec seulement un court début du travail.D'un autre côté, myisam consistait à sauvegarder les bases de données et cela est totalement inacceptable pour les grands sites Web.

Questions connexes