Thread MyISAM oder InnoDB (18 answers)
Opened by kristian at 2013-10-25 14:49

kristian
 2013-10-25 18:10
#171530 #171530
User since
2005-04-14
684 Artikel
BenutzerIn
[Homepage] [default_avatar]
2013-10-25T15:18:15 jan
2013-10-25T13:37:38 kristian
Jein, gefühlt ist es so, dass ich bei MyISAM für den ersten Zugriff auf die DB extrem viel Zeit brauche, danach ist der table wohl im Ram aber der erste Zugriff ist deutlich im Sekundenbereich, das sehe ich bei InnoBD derzeit nicht.


Das ist merkwürdig und solltest Du vielleicht mal genauer untersuchen.
Praktisch ist MyISAM immer massiv viel schneller als InnoDB, dafür gibt's halt keine Transaktionen, keinen Foreign Key, kein Row Level Locking etc pp. Aber wenn MyISAM langsamer ist als InnoDB, dann stimmt irgendwas vermutlich nicht.


Wieder mal jein ;-)
Man muss es differenziert sehen.
Solange es nur um die Ausgabe der Daten geht habe ich kein Problem, weder mit MyISAM noch mit InnoDB.
Wenn ich aber Daten aus einer Table ausgeben will in die gerade geschrieben wird - und das kommt häufig vor - dann wird es eng.
Ohnehin ist das Schreiben bei der Veranstaltung das große Problem. Die Festplatten kommen einfach nicht nach.
Ich hatte ursprünglich einen Server von der Stange bestellt, das Desaster schlechthin, CPU idelt / wait bei fast 100%.
OK, auf Nachfrage hingen die "ultra-geilen SATA3-Enterprise-Platten" an einem SATA2-Port, das konnte nicht gehen.
Jetzt habe ich wie gesagt SSD's an einem qualifizierten Controller, da läuft es zumindest halbwegs.
Im Programmablauf kommt es an mehren Stellen zum update einzelner Datenzeilen, im Normalfall 50 -300 in einem Vorgang, an anderen Stellen werden ein paar hundert Einträge - im seltenen Extremfall ein paar tausend - auf einen Rutsch aktualisiert.
Es ist mir klar, dass ich damit die Platten toaste aber es geht halt nicht anders. Von daher ist das Locking ein ganz wichtiger Faktor.
Wenn es wie im Normalfall nur ums Lesen ginge, ok, dann könnte MyISAM wohl der richtige Weg sein.

Gruß
Kristian
Last edited: 2013-10-25 18:12:13 +0200 (CEST)

View full thread MyISAM oder InnoDB