Posso alterar uma tabela MySQL entre o InnoDB e o MyISAM sem problemas?

1

Eu tenho um site com um banco de dados decentemente grande, 3Gb em tamanho, algumas mesas com uma dúzia de milhões de registros.

Atualmente, é 100% no MyISAM, e tenho a sensação de que o servidor está ficando mais lento do que deveria por causa de muito bloqueio, então eu gostaria de tentar ir ao InnoDB e ver se isso melhora as coisas. No entanto, eu preciso fazer isso diretamente na produção, porque, obviamente, sem carga, isso não faz diferença alguma.

No entanto, estou um pouco preocupado com isso, porque o InnoDB tem potencial para ser mais lento, então a questão é:

Se eu converter todas as tabelas para o InnoDB e descobrir que estou pior do que antes, posso voltar ao MyISAM sem perder nada?

Você consegue pensar em algum problema que eu possa encontrar? (Por exemplo, eu sei que o InnoDB armazena todos os dados em um arquivo grande que só fica maior, isso pode ser um problema?)

Muito obrigado a você Daniel

    
por Daniel Magliola 17.01.2011 / 17:21

1 resposta

1

Eu tentei alterar o mecanismo de banco de dados várias vezes no mysql e não tive problemas.

No entanto , prefiro fazê-lo em uma máquina de teste. Você precisa apenas exportar o banco de dados e importá-lo na máquina de teste. Você pode então mudar o motor e verificar se há erros / avisos / perda de dados. Para gerar a carga, você pode criar seu próprio script para simular uma carga real ou usar uma ferramenta existente para fazê-lo. Para este ponto, você tem que usar uma máquina que seja poderosa o suficiente para julgar o desempenho de uma forma razoável.

    
por 17.01.2011 / 17:53