Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Artigo SQL Magazine 6 - Tipos de tabelas do MySQL
Artigo da Revista SQL Magazine -Edição 6.
Você não gostou da qualidade deste conteúdo?
(opcional) Você gostaria de comentar o que não lhe agradou?
Atenção: por essa edição ser muito antiga não há arquivo PDF para download.
Os artigos dessa edição estão disponíveis somente através do formato HTML.

Tipos de Tabelas do MySQL
O fato de o MySQL possuir diferentes “tipos” de tabela pode causar estranheza aos novos usuários deste servidor. Atualmente, são suportados seis formatos de tabela: ISAM, MyISAM, MERGE, HEAP, InnoDB e BDB (até a versão 3.22 havia também o tipo Gemini).
Apesar de cada formato oferecer características específicas o trabalho do desenvolvedor praticamente não muda, pois os diferentes comportamentos são implementados, na maioria dos casos, de forma totalmente transparente para a aplicação. Além disso, os diferentes tipos de tabela podem ser misturados num mesmo banco de dados ou combinados numa mesma instrução SQL.
As tabelas podem ser divididas em dois grupos: não-transacionais (ISAM, MyISAM, MERGE e HEAP) e transacionais (InnoDB e BDB). As diferenças são claras: tabelas do primeiro grupo são mais rápidas, mas não podem ser manipuladas sob transações (cada operação é atômica). As tabelas do segundo grupo são menos velozes, mas oferecem as propriedades ACID (Atomicidade, Consistência, Isolação e Durabilidade) de um ambiente transacional.
Nota: Mesmo num banco de dados contendo somente tabelas transacionais o MySQL continua apresentando performance bem superior a diversos outros servidores.
ISAM
Foi o tipo padrão de tabela até a versão 3.22. As tabelas ISAM foram evoluídas para as atuais MyISAM e, embora ainda estejam incluídas nos fontes da versão 4.1, não estarão mais presentes a partir da versão 5.0 do MySQL.
Uma tabela ISAM pode ser atualizada para MyISAM com o comando abaixo:
ALTER TABLE nome_tabela TYPE=MyISAM
MyISAM
A partir da versão 3.23, toda tabela criada sem indicação explícita de tipo é definida como MyISAM. Esse tipo foi implementado a partir do código da tabela ISAM, introduzindo diversas melhorias. Entre as principais, podemos citar:
· Os arquivos de tabela são transportáveis entre diferentes sistemas operacionais;
· Campos BLOB e TEXT podem ser indexados;
· "
Este é um post disponível para assinantes MVPou para quem possui Créditos DevMedia. Clique aqui para saber mais!
Eduardo Bottcher
Pós-graduado em Programação Web pela Unicarioca. Ministra diversas disciplinas nos cursos de graduação e pós-graduação da Unicarioca e coordena o Unicarioca.NET, grupo acadêmico de alunos da faculdade para estudos da plataforma .NET. Trabalha como analista de sistemas na empresa de desenvolvimento A...



