Das komprimierte Speicherformat ist ein schreibgeschütztes Format, das vom Tool myisampack erstellt wurde.
Myisampack ist standardmäßig in allen MySQL-Distributionen enthalten. Komprimierte Tabellen können mit myisamchk dekomprimiert werden.
Komprimierte Tabellen weisen die folgenden Merkmale auf:
· Komprimierte Tabellen belegen sehr wenig Speicherplatz. Dies minimiert die Festplattennutzung, was bei der Verwendung langsamer Festplatten (z. B. CD-ROMs) nützlich ist.
· Jeder Datensatz wird einzeln komprimiert, sodass der Zugriffsaufwand sehr gering ist. Ein Datensatzheader belegt in jeder Tabelle 1 bis 3 Bytes, abhängig vom größten Datensatz in der Tabelle. Jede Spalte wird unterschiedlich komprimiert. Normalerweise gibt es für jede Spalte einen anderen Huffman-Baum. Einige Komprimierungstypen sind wie folgt:
o Suffix-Space-Komprimierung.
- Komprimierung des Präfixraums.
- Nullwertige Zahlen werden in einem Bit gespeichert.
– Wenn die Werte in einer Integer-Spalte einen kleinen Bereich haben, wird die Spalte mit dem kleinstmöglichen Typ gespeichert. Beispielsweise kann eine BIGINT-Spalte (8 Bytes) als TINYINT-Spalte (1 Byte) gespeichert werden, wenn alle ihre Werte im Bereich von -128 bis 127 liegen
- Wenn eine Spalte nur einen kleinen Satz möglicher Werte hat, wird der Spaltentyp in ENUM konvertiert.
– Eine Spalte kann eine beliebige Kombination vorheriger Komprimierungstypen verwenden.
· Kann Datensätze mit fester Länge oder dynamischer Länge verarbeiten.