Manutenção em tabelas – MySQL

Ola pessoal,

Manter a integridade dos dados e efetuar uma manutenção das tabelas em sua base de forma períodica, é importante para sempre manter um resultado eficaz em produção.

As tabelas em sua base podem ficar corrompidas devido a uma falha no servidor, principalmente quando ele é reiniciado de forma incorreta. Com isso, você pode perceber lentidões em consultas que geralmente são rapidas, porém podemos ter certeza ao consultar os logs de erro do MySQL.

Segue abaixo a relação de instruções SQL que podemos utilizar no dia a dia:

Analyze table:

Analisa e armazena a distribuição de chave de uma tabela, para uma tomada de decisão referente a junção das tabelas ou na utilização dos indices. Durante esta analise, a tabela ganha um nível de bloqueio para os engines InnoDB e MyISAM.

Esta instrução esta disponível para os Engines: InnoDB e MyISAM.

Ex feito em tabelas MyISAM e InnoDB:

Caso a tabela não tenha sido alterada desde o ultimo analyze, a mesma não será analisada novamente: ‘Table is already up to date’.

Check table:

Verifica a integridade da tabela a fim de identificar algum erro ou inconsistência.

É valida para os Engines: InnoDB, MyISAM, Archive. Caso seja executada em uma tabela MyISAM, as estatisticas dos indices também são atualizadas. Abaixo segue demais opções que podem ser incluidas apenas ao MyISAM:

– Quick: Não verifica os registros buscando as ligações incorretas. Validas para o Engine InnoDB e MyISAM e views.
– Fast: Verifica apenas as tabelas que não foram fechadas de forma correta. Valido apenas para tabelas MyISAM e views, e inválido para o InnoDB.
– Changed: Verifica somente as tabelas que foram alteradas desde a ultima analise ou que não foram fechadas de forma correta. Aplica-se para tabelas MyISAM e views, e inválido ao InnoDB.
– Medium: Efetua uma varredura para verificar se os registros/ligações removidas são válidas. Calcula também uma chave de conferência para os registros com base no check sum calculado para as chaves. Aplica-se para tabelas MyISAM e views, e inválido ao InnoDB.
– Extended: Faz uma consulta completa para todas as chaves de cada registro. Aplica-se para tabelas MyISAM e views, e inválido ao InnoDB.

Segue um exemplo de execução em tabelas MyISAM e InnoDB:
Continue lendo