Wo sich der Einsatz von MySQL 5 lohnt

30.09.2005
Von Yann Neuhaus

Grafisch bedienbare Administrationskonsole von MySQL.

Prozess- und Speicherstrukturen

MySQL-Komponenten sind in Threads organisiert, ganz im Gegensatz etwa zu Oracle RDBMS auf Unix, welches für jede Datenbankkomponente einen eigenen Prozess nutzt (Database Writer, Process Monitor etc.). Mit der Thread-Technologie sind sehr effiziente Kontextwechsel zwischen den einzelnen Datenbankaktivitäten möglich, natürlich mit der potenziellen Gefahr einer gegenseitigen negativen Beeinflussung.

Eine der interessantesten Speicherstrukturen von MySQL ist der Query Cache. Er ist nützlich bei Abfragen, die viele I/Os erfordern. Um den Unterschied zu kommerziellen Datenbanken zu veranschaulichen, nehme man bei Oracle zum Beispiel die Vertriebstabelle aus der Demo-Version und ermittle dort die Summe über die Spalte "AMOUNT_SOLD". Das erste Mal warten Sie, weil das Select einen "Full Table Scan" praktisch komplett von der Platte durchführt. Die Blöcke werden in den Buffer Cache geladen und das Ergebnis ermittelt. Erfolgt die Abfrage nun zeitnah ein zweites Mal, wird ein Grossteil der Blöcke aus diesem Cache gelesen und nur wenig bis gar nichts von der Disk. So wartete man auf unserem Testsystem beim ersten Mal eine Minute, beim zweiten Mal zwölf Sekunden. "Sehr gut" werden Datenbankkenner sagen, "das macht eben ein gutes Datenbanksystem aus!" Andererseits könnte man sich auch fragen: "Warum zwölf Sekunden warten, wenn sich an der Tabelle doch gar nichts

geändert hat?"