Wo sich der Einsatz von MySQL 5 lohnt

30.09.2005
Von Yann Neuhaus

Braucht die Tabelle einen Transaktions-Support?

Handelt es sich im Wesentlichen um eine Read-Only-Tabelle?

Werden die Daten einer Tabelle parallel von vielen Benutzern aktualisiert?

Werden Daten periodisch mit Batch-Jobs geladen?

Je nach Antwort kann eine adäquate Storage Engine ausgewählt und so der Ressourcenverbrauch möglichst klein gehalten werden. Wird eine Tabelle zum Beispiel kaum modifiziert oder werden deren Daten nur periodisch von einer Ladeprozedur aktualisiert, dann ist die MyISAM Storage Engine die perfekte Wahl. Sind parallele Updates zu erwarten oder ist Transaktions-Support notwendig, dann sollte in der Regel InnoDB genutzt werden.

Weitere Engines sind "Memory" (für volatile Daten, die einfach wiederhergestellt werden können), "Merge" (für partitionierte Tabellen, aber deutlich weniger leistungsfähig als zum Beispiel "Oracle Partitionen"), "BDB" (Berkley Database), "NDB Cluster" (für MySQL-Cluster) und "Federated" (für den Remote-Database-Access, ähnlich einem "Oracle Database Link", aber für nur eine Tabelle).