O MySQL pode suportar diversos tipos de índices, mas o tipo
normal é ISAM ou MyISAM. Eles utilizam um índice de árvore-B,
e você pode calcular aproximadamente o tamanho do arquivo de
índice como (key_length+4)/0.67
, somado
sobre todas as chaves. (Isto é para o pior caso, quando todas
as chaves são inseridas ordenadamente e nós não temos nenhuma
chave compactada.)
Índices string são compactados em espaços. Se a primeira
parte do índice é uma string, ele também será compactado em
prefixo. Compactação em espaço torna o arquivo de índice
menor que o indicado acima se a coluna string tem muitos
espaços no fim ou é uma coluna VARCHAR
não
usada em sua totalidade. Compactação de prefixo é usado em
chaves que iniciam com uma string. A Compactação de prefixo
ajuda se existirem muitas strings com o prefixo idêntico.
Em tabelas MyISAM
, você também pode
utilizar prefixos em números comprimidos especificando
PACK_KEYS=1
quando você cria a tabela. Isto
ajuda quando você tem muitas chaves inteiras que têm prefixo
idêntico quando o número é armazenado com o byte mais alto
primeiro.
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.