mysql manutenção e verificação de tabelas

MySQL: comandos para manutenção do banco de dados

De maneira bem breve, vou listar 4 comandos MySQL relacionados à manutenção dos seus bancos de dados. Neste texto, serão descritos de forma bem sucinta e rápida. É mais ou menos um lembrete para quem é administrador iniciante e ainda não criou os bons hábitos de verificação dos seus bancos de dados.

Check table

Com suporte ao MyISAM e ao InnoDB, o comando CHECK TABLE pode ser usado para verificar erros e inconsistências nas tabelas.
Sua sintaxe é simples mas você precisa ter privilégios adequados para poder rodar este comando:

CHECK TABLE projetos QUICK;
+-------------------+-------+----------+----------+
| Table             | Op    | Msg_type | Msg_text |
+-------------------+-------+----------+----------+
| clientes.projetos | check | status   | OK       |
+-------------------+-------+----------+----------+
1 row in set (0.09 sec)

Repair table

Se houver erros detectados por CHECK TABLE, será necessário usar o REPAIR na sua tabela.

REPAIR TABLE projetos;
+-------------------+--------+----------+----------+
| Table             | Op     | Msg_type | Msg_text |
+-------------------+--------+----------+----------+
| clientes.projetos | repair | status   | OK       |
+-------------------+--------+----------+----------+
1 row in set (0.00 sec)

Analyze table

Este comando (exemplo abaixo) analisa e armazena a distribution key da tabela. Enquanto isto, ele a trava, impedindo que seja alterada temporariamente – ela só pode ser lida.

O que é distribution key

Uma distribution key ou chave de distribuição é uma coluna (ou grupo de colunas) usada para determinar a partição do banco de dados em que um registro, em particular, será armazenado.
Você define uma distribution key em uma tabela através do comando CREATE TABLE.

ANALYZE TABLE projetos;
+-------------------+---------+----------+-----------------------------+
| Table             | Op      | Msg_type | Msg_text                    |
+-------------------+---------+----------+-----------------------------+
| clientes.projetos | analyze | status   | Table is already up to date |
+-------------------+---------+----------+-----------------------------+
1 row in set (0.01 sec)

Optimize table

Se você executa muitas operações de remoção de registros (DELETE), provavelmente precisará da declaração OPTIMIZE TABLE para fazer uso de espaços liberados e desfragmentar o arquivo de dados.

OPTIMIZE TABLE projetos;
+-------------------+----------+----------+----------+
| Table             | Op       | Msg_type | Msg_text |
+-------------------+----------+----------+----------+
| clientes.projetos | optimize | status   | OK       |
+-------------------+----------+----------+----------+
1 row in set (0.04 sec)

Publicado por

Elias Praciano

Autor de tecnologia (livre, de preferência), desenvolvedor web e geek, nos mais diversos assuntos. Entusiasta de software livre e hacker de LEGO, acredito em repassar meu conhecimento e ajudar as pessoas sempre que for possível.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *