O formato de armazenamento compactado é um formato somente leitura criado pela ferramenta myisampack.
Myisampack está incluído por padrão em todas as distribuições do MySQL. Tabelas compactadas podem ser descompactadas usando myisamchk.
As tabelas compactadas possuem as seguintes características:
· As tabelas compactadas ocupam muito pouco espaço em disco. Isto minimiza o uso do disco, o que é útil ao usar discos lentos (como CD-ROMs).
· Cada registro é compactado individualmente, portanto há muito pouca sobrecarga de acesso. Um cabeçalho de registro ocupa de 1 a 3 bytes em cada tabela, dependendo do maior registro da tabela. Cada coluna é compactada de maneira diferente. Geralmente há uma árvore de Huffman diferente para cada coluna. Alguns tipos de compactação são os seguintes:
o Compressão de espaço de sufixo.
- Compressão de espaço de prefixo.
- Números com valor zero são armazenados em um bit.
- Se os valores em uma coluna inteira tiverem um intervalo pequeno, a coluna será armazenada usando o menor tipo possível. Por exemplo, uma coluna BIGINT (8 bytes) pode ser armazenada como uma coluna TINYINT (1 byte) se todos os seus valores estiverem na faixa de -128 a 127
- Se uma coluna tiver apenas um pequeno conjunto de valores possíveis, o tipo de coluna será convertido para ENUM.
- Uma coluna pode usar qualquer combinação de tipos de compactação anteriores.
· Pode lidar com registros de comprimento fixo ou dinâmico.