innoDB oder MyISAM?
Redaktionelle Einordnung
Diese archivierte Diskussion behandelt innoDB oder MyISAM? aus Sicht der Rubrik TYPO3.
CMS- und Technikfragen sind heute besonders dann relevant, wenn sie Indexierung, Rendering, interne Verlinkung oder Relaunch-Risiken beeinflussen.
Sinnvoll nutzbar bleibt der Thread vor allem als historischer Kontext, für typische Fragestellungen und zur Einordnung älterer Empfehlungen.
Einige im historischen Thread genannte Tools, Dienste oder externe Links könnten heute nicht mehr verfügbar oder inhaltlich überholt sein. Nutzen Sie sie bitte nur mit zusätzlicher Prüfung.
Startbeitrag
Originaler Foreninhalt in modernisierter Darstellung.
Da wir nun mal die Typo3-Ecke haben, möchte ich sie auch nutzen.
Habt ihr Erfahrungen mit der Umstellung der MySQL-DB von MyISAM auf innoDB?
Ich weiß, dass erst mit innoDB Transaktionsprotokollierung geht und das Caching innerhalb der DB besser genutzt wird. Was mit fehlt, sind Erfahrungen aus der Praxis. Gibt es Probleme, Performance-Gewinn oder Einbuße, ...?
Bin für jeden Hinweis dankbar!
Grüße
Lutz
Antworten
2 BeiträgeHallo Lutz,
ich habe zwar bisher noch keine TYPO3-Datenbank von MyISAM auf innoDB umstellen müssen (eigene Erfahrungswerte fehlen in diesem Bereich daher), aber dafür eine interessante Zusammenfassung gefunden, die einige Deiner Fragen beantworten sollte:
www.mysqlperformance.ch/design/storage_engines/
Kernaussagen:
MyISAM
* Pro: Schnelle Lesezugriffe
* Pro: Fulltext Indexierung möglich
* Pro: Sehr einfach zu betreiben und konfigurieren
* Kontra: Kein Rowlevel Lock. MyISAM ?lockt? immer die gesammte Tabelle!
* Kontra: Keine Fremdschlüssel, und somit streng gesehen auch kein ?echtes?, relationales Datenbanksystem.
InnoDB
* Pro: Schnelle Updates.
* Pro: Fremdschlüssel möglich.
* Pro: Rowlevel Lock
* Pro: Ausführlichere Parametrisierung über die my.cnf möglich
* Pro: Transaktionen -> Datensicherheit!
* Kontra: Keine Fulltext Indexierung
Beste Grüße,
Matthias
SEO Analyse und Website-Check mit Seitenreport
Nachtrag: Für Tabellen, deren Inhalte "flüchtig" sind (also nicht für längere Zeit gespeichert werden müssen), kannst Du am Besten die MySQL-Engine "Memory" (ehemals HEAP) verwenden.
Diese ist die schnellste, eignet sich allerdings wie oben angedeutet nur für "flüchtige" Inhalte, also z.B. Online-User, Caching-Tabellen usw. Nach einem Neustart des Servers wären die Inhalte (nicht die Tabellenstruktur) natürlich wieder weg.
Wenn Du Dich genauer mit der Thematik befassen möchtest, kann ich Dir das "offizielle MySQL5 Handbuch" empfehlen. Etwas darin stöbern kannst Du z.B. bei Google Books:
Grüße,
Matthias
SEO Analyse und Website-Check mit Seitenreport