terça-feira, 27 de setembro de 2011

 MyISAM x InnoDB

MyISAM
Foi implementado a partir do código da tabela ISAM, introduzindo diversas melhorias como:
Os arquivos de tabela são transportáveis entre diferentes sistemas operacionais;
Campos BLOB e TEXT podem ser indexados;
Os Arquivos índices e de dados podem ser armazenados em dispositivos diferentes (aumento de performance);
Algoritmos de distribuição de dados e gerenciamento de índices melhorados;

InnoDB
Rodam sob um engine, desenvolvido pelo Innobase (www.innodb.com), que acrescenta ao MySQL o suporte a TRANSAÇÕES e a CONSTRAINTS de chave estrangeira.
Para obter o máximo de performance com tabelas InnoDB é necessário configurar o arquivo my.conf (ou my.ini no Windows) de acordo com as características de  hardware do servidor onde o MySQL está rodando. Os Detalhes dessa configuração podem ser obtidos no manual do InnoDB.
Outro ponto interessante são as restrições de chaves estrangeiras (foreign key constraints) e transações. Estes recursos estão disponíveis apenas no InnoDB.