Mudar tabelas MyISAM para innoDB no MySQL

Por que, as vezes você precisa mudar o Storage Engine das tabelas MySQL, do MyISAM para innoDB? Uma das maiores razões para que os sites em larga escala do WordPress diminuam o ritmo é porque o banco de dados não foi otimizado.

Muitos sites antigos ainda estão usando o mecanismo de armazenamento MyISAM em seu banco de dados. Nos últimos anos, o InnoDB mostrou um desempenho melhor e mais confiável. Um grande motivo para usar o InnoDB com o MyISAM é a falta de bloqueio total no nível da tabela. Isso permite que suas consultas sejam processadas mais rapidamente

InnoDB versus MyISAM

Aqui estão algumas das principais diferenças entre InnoDB e MyISAM:

  • O InnoDB possui bloqueio em nível de linha. O MyISAM só tem bloqueio total no nível de tabela.
  • O InnoDB possui o que é chamado de integridade referencial que envolve o suporte a chaves estrangeiras: RDBMS e restrições de relacionamento. O MyISAM não DMBS.
  • O InnoDB suporta transações, o que significa que você pode confirmar e reverter. MyISAM não.
  • O InnoDB é mais confiável, pois usa logs transacionais para recuperação automática. MyISAM não.

Como alterar as tabelas MyISAM para innoDB no MySQL

Nota: Nós recomendamos fortemente, que você faça backup de seu banco de dados MySQL antes de executar qualquer operação nele.

Vamos pelo modo mais fácil, o tradicional. Se você está usando cPanel, pode fazer isso através do PHPMyAdmin.

  • Faça login no cPanel.
  • Clique na opção PHPMyAdmin, na guia Database.
  • Seleciona o banco de dados, o qual deseja fazer as alterações
  • Seleciona a tabela e, em seguida clique na guia Operações.

Mudar tabelas MyISAM para innoDB no MySQL

  • Feito isso, clique em Executar, nas mesma guia da alteração.

Repita esta ação, para cada tabela do banco de dados, que você deseja alterar.

A segunda opção para alterar MyISAM para innoDB

Alternativamente, você pode executar uma consulta para ver se existem tabelas myISAM. Substitua ‘database’ pelo nome do seu banco de dados.

SELECT TABLE_NAME,
ENGINE
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = 'database' and ENGINE = 'myISAM'

Se você deseja fazer estas alterações, via comando, basta executar o comando ALTER para convertê-lo para o mecanismo de armazenamento InnoDB.

Digamos, que você queira alterar a tabela wp_links

ALTER TABLE wp_links ENGINE=InnoDB;

Confira a alteração e repita para todas as tabelas, que vocês deseja alterar.


Deixe uma resposta

O seu endereço de e-mail não será publicado.