Schlagwort-Archiv: MySQL Optimierung Tabellenformat

MySQL-Optimierungen

Immer wieder gelangt man als Entwickler an den Punkt, an dem die Datenbankabfragen einfach einen Tick schneller sein könnten. Mögliche Performanceauswirkungen sollte man deshalb bereits beim Entwerfen einer Tabelle berücksichtigen.
Dazu gibt es einige Möglichkeiten, von denen ich nachfolgend einige aufführen möchte.

NULL, wo auch NULL gebraucht wird.

NULL-Werte können eine sinnvolle Sache sein. Nicht immer werden diese aber benötigt. Mit der Zeit sieht man hin und wieder beispielsweise Spalten, die NULL erlauben und gleichzeitig einen DEFAULT-Wert besitzen. Das kann unter Umständen sinnvoll sein. Oder aber, die möglichen NULL-Werte werden überhaupt nicht genutzt. In diesem Fall sind sie überflüssig und kosten nur Performance. MySQL muss somit immer auch den NULL-Fall prüfen und aufwendigere Funktionen durchlaufen.

MyISAM und ROW_FORMAT=FIXED

Für MyISAM-Tabellen bietet es sich für Geschwindigkeitsoptimierungen hinsichtlich Lesezugriffen an, das Tabellenformat auf FIXED zu stellen. Damit muss die Datensatzlänge nicht aufwendig berechnet werden. Das spart Zeit. Dafür müssen allerdings feste Datentypen (also beispielsweise CHAR, statt VARCHAR) verwendet werden. Dadurch benötigt man aber mehr Speicher.