Wie viel schneller ist gegenüber MyISAM zu InnoDB?
Leute sagen, InnoDB ist nicht so schnell wie MyISAM. Aber wie viel langsamer? Nur als eine Regel von Daumen in den wind, natürlich. Ich meine... ist es in der Regel 0,5 x so schnell wie MyISAM? oder sogar noch schlimmer? Oder ist der Durchschnittliche Besucher nicht erkennen, die zeitliche Differenz beim surfen eine MyISAM-Plattform vs. gleiche Sache mit InnoDB?
- 000webhost erlaubt nur MyISAM und lässt InnoDB, weil es "stellt eine schwere Last auf Ihren Servern".. das kann etwas sagen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich wäre sehr überrascht, wenn man bemerkt keine praktische Reale Welt Unterschied, wenn man ein sehr großes/Ressource intensive web-site.
Gibt es einige (wenn auch ziemlich alt) benchmarks gibt (hier zum Beispiel), aber Ihre Erfahrung wird natürlich unterscheiden sich je nach Ihren spezifischen Nutzungsmuster.
Kann es einen großen Unterschied, hängt davon ab, wie Sie die Datenbank in Frage. Zum Beispiel select count(*) Abfragen, sind Billig, wenn ausgeführt auf einer myisam-Tabelle, aber (kann) wirklich langsam, wenn ausgeführt auf einer innodb-Tabelle. Auch eine Menge Leute nicht konfigurieren, deren installation für innodb-Leistung - vor allem, wenn Sie ' re verwendet, um myisam-die verhält sich ziemlich gut auf eine ziemlich Standard-mysql-installation.
Mein Rat wäre, um führen Sie Ihre eigenen tests durch die Einnahme von ein paar top-Abfragen und laufen Sie gegen den myisam-Tabellen und dann innodb-Versionen. Auch über Kopf zu http://www.mysqlperformanceblog.com/ für Tipps, wie tune innodb, um die die meisten aus ihm heraus.
Dies ist eine große Verallgemeinerung, aber Sie müssen verstehen, dass bei der Verwendung von InnoDB-die db wird ständig überprüfen, Einschränkungen, die tatsächliche Netzwerkleistung wird variieren, je nachdem wie viele contraint Prüfungen machen auf Einfügungen und Aktualisierungen.
Sie sollten auch berücksichtigen, die Verteilung der Abfragen auf die db, 90% wählt, 10%insert/update-Abfragen. 10% Leistungseinbuße con fügt, ist nicht besonders groß. Nun, wenn deine DB schreiben, ist eine intensive, sollten Sie erwägen, die Verwendung von MyISAM.
Denken Sie daran, MyISAM ist nicht ACID-konform, so dass Sie haben keine Garantie auf Vollständigkeit, dies bedeutet, dass keine foreign key checks, noch Transaktionen.
Cheers
Je nach pattern laden MyISAM kann nicht schneller. Zum Beispiel, InnoDB tun kann, row-level locking, während MyISAM unterstützt nur sperren auf Tabellenebene. Diese Besonderheit geben kann InnoDB ein signifikanter Vorteil unter Last, das umfasst viele gleichzeitige Aktualisierungen auf verschiedene Teile des gleichen Satz von Tabellen.
Also kann man nicht wirklich verallgemeinern. Stattdessen haben Sie die meisten, herauszufinden, was laden, sind Sie gehen zu müssen, und dann der Forschung das Thema aus diesem Blickwinkel. Oder zumindest nur eine einfache simulation/vergleichen und sehen, wie die Dinge führen.