Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Tabelas MyISAM e InnoDB em um banco de dados


Hoje em dia, eu sempre uso o InnoDB por padrão, especialmente nas tabelas de gravação intensiva que você mencionou, onde o MyISAM sofre com o bloqueio completo da tabela. Aqui está uma comparação direta.

Razões para usar o MyISAM:
  • As tabelas são muito rápidas para cargas com muita seleção
  • Os bloqueios no nível da tabela limitam sua escalabilidade para ambientes multiusuário com uso intenso de gravação.
  • Menor consumo de espaço em disco
  • Índice de texto completo
  • Tabelas mescladas e compactadas.

Razões para usar o InnoDB:
  • Transações de ACID
  • Bloqueio de nível de linha
  • Leituras consistentes – permite alcançar uma excelente simultaneidade de leitura e gravação.
  • Agrupamento de chave primária – oferece excelente desempenho em alguns casos.
  • Suporte de chave estrangeira.
  • Tanto as páginas de índice quanto as de dados podem ser armazenadas em cache.
  • Recuperação automática de falhas - caso o desligamento do MySQL não tenha sido limpo, as tabelas do InnoDB ainda - recuperam para o estado consistente - Nenhuma verificação / reparo como o MyISAM pode exigir.
  • Todas as atualizações precisam passar pelo mecanismo transacional no InnoDB, o que geralmente diminui - desempenho em comparação com mecanismos de armazenamento não transacionais.

O texto acima foi retirado de este site , que parece não estar mais funcionando.