2011-06-23 3 views
2

J'ai une table qui reçoit environ 50 insertions par seconde. À l'heure actuelle, il y a 700 000 enregistrements, en utilisant 160 MiB. Mon petit VPS avec 1 gig de ram se maintient, mais juste à peine.MyISAM ou InnoDB pour une table en écriture principale

J'ai choisi InnoDB, car les gens disent que «ça va mieux», se corrompent moins souvent et implémente le verrouillage des lignes au lieu du verrouillage des tables.

Mais est-ce le bon choix pour cela? J'ai également lu que MyISAM supporte les insertions retardées, ce qui pourrait être très intéressant. (Je me demande quel est le compromis avec le verrouillage de table)

+1

Ce que vous devriez obtenir est un disque dur qui est dédié uniquement à vous et non aux utilisateurs de X. Vous serez en mesure de pousser plus de 50 inserts/seconde (environ 150 si je ne me trompe pas avec le lecteur 7200RPM) sans problèmes si vous utilisez InnoDB. A part ça, ce que Johan a dit (+1 de moi). –

Répondre

5

InnoDB, pas question.

  • verrouillage de ligne
  • transactions
  • mieux integritry

InnoDB permet des inserts retardés ainsi.

Le ne question que je peux penser est que de faire fonctionner MySQL sans support InnoDB (compilation spéciale de la source) peut utiliser moins de mémoire 100MB.
Ne faites pas ça, ça ne vaut pas le coup.

+0

bonne réponse. mais quand voudriez-vous vraiment vraiment utiliser myisam. une compilation spéciale semble assez rare. –

Questions connexes