Definição dos tipos de tabelas do mysql

Quem já não ouviu falar em tipos de tabelas que podem ser usadas no mysql?
Pois é, o mysql tem, em sua carta na manga este diferencial: ela apresenta tipos de tabelas diferentes, cada qual se adequando a uma necessidade do usuário/dba/aplicação.

O MySQL Apresenta 6 tipos de tabelas diferentes. São elas: MyISAM , Merge, Isam, heap, Innodb, BDB ou BerkeleyDB.
Eis que sempre me perguntam: Mas porque tanto tipo? É simples, pensando em uma melhora de performance os tipos de tabelas tem cada um, uma característica, sendo melhores para inserção de dados, consultas, estáticas, etc.
Dos 6 tipos, 2 são os mais utilizados: MyISAM e InndoDB.

Resumidamente falando um pouco de cada uma, temos:
Merge: Inclusa a partir da versão 3.2, Merge é uma coleção de tabelas MyISAM. Ela agrupa tabelas e cria uma Merge. Excluir/Dropar um Merge sem where exclui apenas o agrupamento, mantendo as tabelas referenciadas.
Isam: Descontinuada da versão 5.0 adiante, os modelos Isam são antecessores do tipo MyIsam. Tem a mesma função, porém, suporta um número menor de chaves, não é portável de SO, torna tabelas dinâmicas mais fragmentadas, etc.
Heap: É muito rápida e perfeita para tabelas temporárias, as tabelas Heap são armazenadas na memória e usam índice HASH. Se o MySQL falhar você irá perder todos os registros contidos nela.
BDB: Um tipo de tabela que pode se tornar mais resistente as falhas do MySQL. São também capazes de realizar operações de COMMIT E ROLLBACK .
MyISAM: Um tipo de tabela que é muito utilizado para transações de Inserção. Boa para transação e compressão. Dispõe de opções de melhora de performance de diversos pontos, incluindo AUTO_INCREMENT e compressão.
InnoDB: Tabelas InndoDB foram criadas para atuarem com uma alta-performance em transações de consulta. Suporta as trasassões de Commit e Rollback e tem suporte a falhas do MySQL. É também o primeiro que suporta as restrições de Foreign Key.
São muitas as informações e especificações de cada tipo de tabela, conhece-las é importante para trabalhar em cima de um ambiente estável e performático.
Mais informações, recomendo o acesso ao site do MySQL ao qual dá mais informações e dicas ao uso de cada tabela:
http://dev.mysql.com/doc/refman/4.1/pt/storage-engines.html
Espero ter ajudado!
=)

Deixe um comentário