A resposta é que você deve sempre medir, de preferência com seus próprios dados e carga de trabalho, se possível.
Como os padrões de acesso a dados podem variar muito de aplicativo para aplicativo, é difícil dizer e com toda a probabilidade impossível determinar o "melhor" mecanismo de armazenamento para todas as cargas de trabalho.
No entanto, há desenvolvimentos muito encorajadores no espaço MySQL, tendo participado do MySQLConf / Percona Performance Conf na semana passada.
Alguns dos mecanismos de armazenamento alternativos:
- XtraDB (fork do InnoDB)
- Plugin InnoDB
- PBXT
- TokuDB
Além disso, a Percona, o Google etc. contribuíram com patches que ajudam muito no desempenho do InnoDB. Pessoalmente, eu executo uma compilação OurDelta. Funciona muito bem para mim e incentivo a verificação das versões OurDelta e Percona.
Se for apenas um sistema simples de armazenamento / relatório, utilizo o MyISAM para o desempenho bruto.
Eu usaria o InnoDB se estivesse preocupado com vários acessos simultâneos com muitas gravações, para aproveitar o bloqueio no nível de linha.
fonte
Há um bom número de benchmarks por aí para diferentes mecanismos de banco de dados MySQL. Há um decente comparando MyISAM, InnoDB e Falcon no Percona MySQL Performance Blog , veja aqui .
Outra coisa a considerar entre os dois mecanismos mencionados acima (MyISAM e InnoDB) são suas abordagens ao bloqueio. O MyISAM executa o bloqueio de tabela, enquanto o InnoDB executa o bloqueio de linhas. Há uma variedade de coisas a considerar, não apenas números de desempenho absolutos.
fonte
Existem recursos que você achará muito úteis, por razões operacionais, mesmo que seu aplicativo não exija absolutamente:
Portanto, apesar das restrições de chave estrangeira, você provavelmente deseja usar o InnoDB de qualquer maneira.
é claro que se trata de ServerFault, não Stack Overflow, portanto a resposta correta é:
fonte
Meu provedor de hospedagem nos aconselhou a nos livrar completamente do MyISAM e mudar para o InnoDB, a menos que isso não seja possível.
No nosso caso, estávamos com uma corrupção de dados grave, que começava a aparecer algumas vezes a algumas vezes por dia, sempre exigindo REPAIR TABLE e comandos relacionados, que levavam anos em tabelas grandes.
Depois que convertemos (ou: fomos convertidos) para o InnoDB, os problemas desapareceram instantaneamente. Desvantagens / advertências que tivemos:
Mas observe: tudo isso é específico ao nosso ambiente, etc., portanto, geralmente não se aplica.
fonte