Das komprimierte Speicherformat ist ein nur-lesbares Format, das mit myisampack angelegt wird. Komprimierte Tabellen lassen sich mit myisamchk auch wieder dekomprimieren.
Kennzeichen von komprimierten Tabellen:
Sie belegen sehr wenig Platz auf der Festplatte. Dadurch wird der Speicherverbrauch minimiert, was bei der Verwendung langsamer Speichermedien (zum Beispiel CD-ROMs) praktisch ist.
Da jede Zeile separat komprimiert wird, funktioniert der Zugriff mit geringem Aufwand. Der Header für eine Zeile belegt ein bis drei Bytes, abhängig von der längsten Zeile der Tabelle. Jede Spalte wird anders komprimiert und normalerweise gibt es für jede Spalte einen unterschiedlichen Huffman-Baum. Einige der Kompressionsarten sind:
Suffix-Kompression (Komprimierung von Leerzeichen am Ende).
Präfix-Kompression (Komprimierung von Leerzeichen am Anfang).
Zahlen mit dem Wert Null werden in einem Bit gespeichert.
Wenn Werte in einer Integerspalte einen kleinen
Wertebereich haben, wird die Spalte im
kleinstmöglichen Typ gespeichert. So kann zum
Beispiel eine BIGINT
-Spalte (acht
Bytes) als TINYINT
-Spalte (ein
Byte) gespeichert werden, wenn alle ihre Werte
zwischen -128
und
127
betragen.
Hat eine Spalte nur eine kleine Menge möglicher
Werte, wird ihr Datentyp in eine
ENUM
konvertiert.
Eine Spalte kann eine beliebige Kombination der oben beschriebenen Komprimierungen verwenden.
Kann für Spalten fester oder dynamischer Länge verwendet 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.