Central de Ajuda

Guia da Central de Ajuda

InnoDB no MySQL e MariaDB: suporte, vantagens, limites e conversão de tabelas

InnoDB é o mecanismo padrão de armazenamento nas versões modernas do MySQL e MariaDB e é suportado em ambientes cPanel atuais. Ele oferece transações, integridade referencial, recuperação após falhas e bloqueio por linha. A disponibilidade de versão e recursos específicos depende do servidor.

InnoDB ou MyISAM

RecursoInnoDBMyISAM
Transações/rollbackSimNão
Chaves estrangeirasSimNão
BloqueioPrincipalmente por linhaPor tabela
Recuperação após falhaProjetada para recuperaçãoMais limitada
Uso recomendadoAplicações atuaisLegado/casos específicos

Verificar o mecanismo

SHOW TABLE STATUS FROM nome_do_banco;
SHOW ENGINES;

No phpMyAdmin, abra o banco e consulte a coluna Type/Engine. Não altere tabelas do sistema nem converta sem confirmar a compatibilidade da aplicação.

Criar tabela InnoDB

CREATE TABLE pedidos (
  id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  criado_em DATETIME NOT NULL,
  PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Converter tabela existente

ALTER TABLE tabela_legada ENGINE=InnoDB;

Esse comando pode bloquear a tabela, usar muito espaço temporário e demorar. Faça dump, teste em homologação, confira espaço, índices, chaves estrangeiras e janela de manutenção. Em tabelas grandes, use estratégia de migração online apropriada.

Limites e desempenho

  • índices e consultas mal projetados continuam lentos;
  • transações longas aumentam locks e histórico;
  • buffer pool e configuração global são responsabilidade do administrador;
  • quota da hospedagem inclui arquivos do banco conforme a medição;
  • tamanho máximo prático depende de quota, servidor e operação, não só do engine.

Transações na aplicação

Use transações curtas, confirme com COMMIT e reverta com ROLLBACK quando a operação falhar. Não mantenha uma transação aberta enquanto espera API ou interação do usuário. Monitore deadlocks e implemente repetição limitada apenas para erros transitórios conhecidos.

Erros frequentes

“Cannot add foreign key constraint” exige tipos, índices e collation compatíveis. “Table is full” pode significar disco/quota, não limite lógico. Corrupção ou crash recovery deve ser tratada pelo administrador; não apague arquivos ibdata ou redo logs por tentativa.

Backup não é opcional. Um dump lógico e uma restauração testada são necessários antes de conversão ou atualização do banco.

Veja também como criar banco e usuário e como atualizar MySQL/MariaDB.

Recursos relacionados

Continue com materiais e serviços relacionados ao tema deste guia.

Este guia resolveu sua dúvida? Seu retorno ajuda a priorizar as próximas revisões.
Atendimento técnico

Não encontrou o resultado esperado?

Abra um chamado e envie a mensagem de erro completa, o domínio ou serviço afetado, o horário do teste e capturas de tela sem senhas.