Características de Tabelas Compactadas
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 MariaDB se tornar
GPL
, podem ler tabelas que forma compactadas commyisampack
. - 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 colunaTINYINT
(1 byte) se todos os valores estão na faixa de0
a255
. - 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
.