MyISAM
-Tabellen verwenden B-Baum-Indizes. Die
Größe der Indexdatei, summiert über alle Schlüssel, lässt
sich mit der Formel (key_length+4)/0.67
ungefähr berechnen. Das gilt für den ungünstigsten Fall, dass
alle Schlüssel in sortierter Reihenfolge eingefügt wurden und
die Tabelle keine komprimierten Schlüssel besitzt.
String-Indizes werden Leerzeichen-komprimiert. Ist der erste
Teil des Index ein String, so wird dieser zusätzlich
präfixkomprimiert. Durch Leerzeichen-Kompression wird die
Indexdatei kleiner als in den obigen Zahlen für den
ungünstigsten Fall dargestellt, wenn eine Stringspalte viele
Leerzeichen am Ende hat oder eine
VARCHAR
-Spalte ist, die nicht immer in voller
Länge ausgenutzt wird. Eine Präfix-Kompression wird für
Schlüssel eingesetzt, die mit einem String anfangen. Die
Präfix-Kompression ist hilfreich, wenn mehrere Strings mit
identischem Präfix vorhanden sind.
In MyISAM
-Tabellen können Sie auch Zahlen
präfixkomprimieren. Hierzu geben Sie beim Anlegen der Tabelle
die Tabellenoption PACK_KEYS=1
an. Das hilft,
wenn Sie viele Integer-Schlüssel mit identischem Präfix haben,
wenn die Zahlen mit dem höchstwertigen Byte zuerst gespeichert
werden.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.