Este é um tipo somente leitura que é gerado com a ferramenta
opcional myisampack
(pack_isam
para tabelas
ISAM
):
Todas as distribuições MySQL, mesmo aquelas existentes
antes do MySQL se tornar GPL
, podem ler
tabelas que forma compactadas com
myisampack
.
Tabelas compactadas utilizam muito pouco espaço em disco. Isto minimiza o uso de disco, o que é muito bom quando se utiliza discos lentos (com CD-ROMs).
Cada registro é compactado separadamente (pouca sobrecarga de acesso). O cabeçalho de um registro é fixo (1-3 bytes) dependendo do maior registro na tabela. Cada coluna é compactada diferentemente. Alguns dos tipos de compactação são:
Existe, geralmente, uma tabela Huffman diferente para cada coluna.
Compactação de espaço de sufixos.
Compactação de espaço de prefixos.
Números com valor 0
são
armazenados usando 1 bit.
Se os valores em uma coluna inteira tem uma faixa
pequena, a coluna é 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 valores estão na faixa de
0
a 255
.
Se uma coluna tem apenas um pequeno conjunto de
valores possíveis, o tipo de coluna é convertido
para ENUM
.
Uma coluna pode usar uma combinação das compactações acima.
Pode tratar registros de tamanho fixo ou dinâmico.
Pode ser descompactada com myisamchk
.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.