Le format de stockage compressé est un format en lecture seule créé par l'outil myisampack.
Myisampack est inclus par défaut dans toutes les distributions MySQL. Les tables compressées peuvent être décompressées à l'aide de myisamchk.
Les tables compressées présentent les caractéristiques suivantes :
· Les tables compressées occupent très peu d'espace disque. Cela minimise l'utilisation du disque, ce qui est utile lors de l'utilisation de disques lents (tels que des CD-ROM).
· Chaque enregistrement est compressé individuellement, il y a donc très peu de frais d'accès. Un en-tête d'enregistrement occupe 1 à 3 octets dans chaque table, en fonction du plus grand enregistrement de la table. Chaque colonne est compressée différemment. Il existe généralement un arbre de Huffman différent pour chaque colonne. Certains types de compression sont les suivants :
o Compression d'espace de suffixe.
- Compression de l'espace de préfixe.
- Les nombres de valeur zéro sont stockés sur un bit.
- Si les valeurs d'une colonne entière ont une petite plage, la colonne est stockée en utilisant le type le plus petit possible. Par exemple, une colonne BIGINT (8 octets) peut être stockée sous forme de colonne TINYINT (1 octet) si toutes ses valeurs sont comprises entre -128 et 127.
- Si une colonne n'a qu'un petit ensemble de valeurs possibles, le type de colonne est converti en ENUM.
- Une colonne peut utiliser n'importe quelle combinaison de types de compression précédents.
· Peut gérer des enregistrements de longueur fixe ou de longueur dynamique.