Engines MySQL – MyISAM

Olá pessoal,

Neste e nos próximos posts, iremos tratar dos engines disponíveis no MySQL! Em alguns tópicos já falamos sobre a diferença entre InnoDB e MyISAM e como consultar o Status das Engines no servidor.

Vamos explorar um pouco mais as características de cada engine, tanto como a estrutura e vantagens, começando hoje com o MyISAM.

O MyISAM foi o engine default do MySQL em versões anteriores a 5.5, ou seja, se uma tabela fosse criada sem a especificação do engine, ela era atribuída ao MyISAM.

Uma tabela MyISAM tem referência de três arquivos físicos no servidor, são eles:

.frm: armazena o formato da tabela
.MYD: armazena os dados da tabela
.MYI: armazena os índices da tabela

A referência é feita com o nome da tabela.extensão, e todos os arquivos são armazenados no datadir (diretório de dados) do servidor. Com isso, já podemos apontar a primeira vantagem ao utilizar o MyISAM:

Os índices de cada tabela são separados em arquivos diferentes dos dados, trazendo um aumento de performance no momento da consulta.

Devido a esta estrutura, as tabelas MyISAM ocupam pouco espaço no disco e também são portáteis, ou seja, você consegue copiar os arquivos de cada tabela em um servidor, e ‘exporta-los’ para outro servidor de forma direta, sem comprometer a integridade dos dados.

Porém antes de fazer isso, certifique-se que o servidor MySQL de destino tenha a mesma versão da origem, que não exista nenhum processo de escrita na tabela a ser copiada/migrada, ou de um stop no mysqld para copiar os arquivos.
Continue lendo