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

MySql:MyISAM vs. Inno DB!


A principal diferença é que o InnoDB suporta transações enquanto o MyISAM não.

Existem inúmeras outras diferenças, no entanto, as comuns que eu conheço são:
  • O MyISAM normalmente é considerado mais rápido na pesquisa, mas as melhorias recentes do InnoDB estão removendo essa diferença e melhorando o desempenho da carga de trabalho de alta simultaneidade
  • InnoDB suporta transações enquanto o MyISAM não
  • InnoDB suporta integridade referencial enquanto o MyISAM não
  • O InnoDB lida com índices de maneira um pouco diferente, armazenando a chave primária como parte de cada índice (fazendo com que os índices ocupem mais espaço no disco, mas também tornando um índice de cobertura mais provável)
  • MyISAM faz bloqueio em nível de tabela enquanto o InnoDB pode fazer bloqueio em nível de linha
  • Diferentes configurações de memória/buffer/índice são usadas nos arquivos de configuração do MySQL
  • InnoDB normalmente tem uma melhor recuperação de falhas
  • Conforme mencionado em outra resposta, os dados são armazenados no disco de maneira diferente. Eu acredito que o InnoDB é configurável nesta área e pode ter um arquivo por tabela etc. se necessário

Tenho certeza de que uma pesquisa no Google ou no site MySQL trará inúmeras outras diferenças com mais detalhes.