O comando “OPTIMIZE TABLE” do MySQL é utilizado para desfragmentar tabelas. Com a desfragmentação, as tabelas e os índices são reorganizados, diminuindo o tamanho do espaço em disco ocupado por esses dados e aumentando a eficiência de I/O quando a tabela é acessada, consequentemente melhorando o desempenho do banco de dados. O OPTIMIZE TABLE deve ser utilizado nas ocasiões em que foi realizado “UPDATE”, “INSERT” ou “DELETE” substancial na tabela.

Nas tabelas “MyISAM”, o OPTIMIZE TABLE repara tabelas que têm linhas apagadas ou divididas, reorganiza os índices de páginas e atualiza as estatísticas da tabela. Nas tabelas InnoDB, o OPTIMIZE TABLE é referenciado pelo ALTER TABLE, que recria a tabela e atualiza as estatísticas do índice, liberando espaço não utilizado no índice clusterizado.

Há duas formas de realizar a desfragmentação de tabelas: através da linha de comando e através do phpMyAdmin:

NOTA: Durante a execução do procedimento a seguir, o acesso à(s) tabela(s) afetada(s) ficará indisponível.

Linha de comando do MySQL

1. Verifique a existência de tabelas fragmentadas através do comando:

mysql> SHOW TABLE STATUS;

NOTA: Nas tabelas MyISAM, quanto maior o valor do “Data_free” maiores os indícios de fragmentação. Nas tabelas InnoDB, estes valores podem ser estáticos e não indicar fragmentação.

2. Selecione a base de dados que contém a tabela a ser desfragmentada:

mysql> use NomeDaBase;

3. Por fim, execute o comando:

mysql> OPTIMIZE TABLE NomeDaTabela;

phpMyAdmin

1. Na tela principal do phpMyAdmin, clique sobre a base de dados que contém a(s) tabela(s) que deve(m) ser desfragmentada(s);

2. Selecione a(s) tabelas(s);

3. Na caixa de seleção, selecione “Otimizar tabela”;

OpT 03.png

4. Por fim, clique em “Executar”.

OpT 4.png

AVISO LEGAL: Os procedimentos descritos neste documento devem ser executados de acordo com o contexto de cada sistema, de forma a evitar impactos negativos à segurança, disponibilidade, integridade e privacidade de dados. A CentralServer se reserva o direito de modificar a qualquer tempo e sem aviso prévio as informações aqui apresentadas a fim de refletir o lançamento de novos serviços, atualizações físicas e operacionais, e evolução do estado-da-arte da tecnologia.