Estou usando a réplica de leitura do AWS RDS. Ele constantemente apresenta problemas com as tabelas de mecanismo de memória do Magento. Para réplicas de backup e leitura, o RDS adora o InnoDB. Posso alterar com segurança todas as tabelas para o InnoDB?
Além disso, recebo o seguinte aviso da AWS:
Instância de banco de dados magento-monin-prod-db contém tabelas MyISAM que não foram migradas para o InnoDB. Essas tabelas podem afetar sua capacidade de executar restaurações pontuais. Considere converter essas tabelas para o InnoDB. Consulte http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables
Resposta plausível
Ainda interessado em feedback. Adicionarei isso como resposta se não encontrar nenhum problema nas próximas 24 horas. Até agora, os passos que segui abaixo parecem seguros. Minha maior preocupação eram as tabelas do Mecanismo de Memória do Magento (tabelas terminadas em in_tmp) e o impacto que isso poderia ter na indexação.
Aqui está o que eu fiz:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- Para mim, isso retornou principalmente tabelas de índices temporárias e tabelas de módulos magento, portanto, não há muitas tabelas principais críticas para se preocupar e poucas tabelas suficientes para que eu possa executar facilmente outra tabela de alterações se algo atingir o ventilador.
Para cada tabela retornada, executei:
Alter table {table-name} ENGINE=InnoDB;
Eu ficaria nervoso em tentar isso se nenhuma de suas mesas for InnoDB. Mas, como eu disse antes, havia apenas algumas tabelas principais na minha instância que precisavam ser modificadas.