Limpar e otimizar o banco de dados pelo phpMyAdmin

Bancos de DadosphpMyAdmin e gerenciamento··· 1.360 visualizações· 5 min de leitura

Um site com alguns anos carrega um banco de dados cheio de coisas que ninguém lê: uma revisão de cada vez que um texto foi gravado, comentários de spam de 2021, opções de plugins apagados há muito. Limpar isso não faz milagres, mas dá um ganho real e libera espaço.

Isto apaga dados de verdade e não há desfazer. Faça duas cópias antes do primeiro comando: uma pelo painel (como restaurar os seus dados) e uma exportação da base a partir do próprio phpMyAdmin, na aba Exportar. Guarde a exportação fora do servidor.

O que enche um banco de dados

O que é Porque se acumula
Revisões de textos Cada vez que grava uma página, o WordPress guarda a versão anterior inteira. Uma página editada cinquenta vezes são cinquenta cópias dela na base.
Rascunhos automáticos e lixo O que ficou por publicar e o que foi para o lixo e nunca de lá saiu.
Comentários de spam Marcados como spam mas não apagados. Num site antigo chegam aos milhares.
Transitórios expirados Dados guardados por plugins para não repetirem trabalho. Deviam desaparecer sozinhos e muitas vezes não desaparecem.
Sobras de plugins apagados Opções, tabelas inteiras e metadados que ficam depois de apagar o plugin pelo painel.
Metadados órfãos Linhas ligadas a textos e usuários que já não existem.

A limpeza sem riscos: otimizar as tabelas

Isto não apaga nada: arruma. Depois de muitas escritas e apagamentos, as tabelas ficam com espaço morto lá dentro, e a otimização reconstrói-as.

1 No cPanel abra o phpMyAdmin e escolha a base do site na lista da esquerda. Se não souber qual é, descubra-a primeiro.
2 Em baixo da lista de tabelas, clique em Marcar todas.
3 Na caixa ao lado, escolha Otimizar tabela e confirme.
Se aparecer uma nota a dizer que a tabela não suporta otimização, está tudo bem. As tabelas modernas do MySQL respondem isso e reconstroem-se na mesma. Não é erro e não é preciso fazer mais nada.

A limpeza de verdade: apagar o que sobra

Estes comandos rodam na aba SQL do phpMyAdmin, um de cada vez. Troque o wp_ pelo prefixo das suas tabelas, que vê na lista da esquerda.

O que apaga O comando
As revisões DELETE FROM wp_posts WHERE post_type = 'revision';
Os rascunhos automáticos DELETE FROM wp_posts WHERE post_status = 'auto-draft';
Os comentários de spam e do lixo DELETE FROM wp_comments WHERE comment_approved IN ('spam','trash');
Os transitórios DELETE FROM wp_options WHERE option_name LIKE '%_transient_%';
Os metadados órfãos DELETE pm FROM wp_postmeta pm LEFT JOIN wp_posts p ON p.ID = pm.post_id WHERE p.ID IS NULL;
Confirme o prefixo antes de cada comando. Se a base servir dois sites com prefixos diferentes, rodar um destes comandos com o prefixo errado apaga conteúdo do outro site. E se não tem a certeza do que um comando faz, comece por trocar o DELETE por SELECT * para ver primeiro quantas linhas é que ele apanha.

O que pesa em todas as páginas

Há uma coisa na base que é lida em cada pedido, e por isso vale mais do que todo o resto junto: as opções marcadas para carregamento automático. Um plugin mal feito guarda lá dentro coisas enormes, e elas continuam sendo lidas mil vezes por dia mesmo depois de o plugin desaparecer.

Para ver as maiores, rode na aba SQL:

SELECT option_name, LENGTH(option_value) AS tamanho FROM wp_options WHERE autoload = 'yes' ORDER BY tamanho DESC LIMIT 20;

Se alguma das primeiras linhas tiver o nome de um plugin que já não usa, é lixo e pode sair. Se não reconhecer o nome, deixe estar e pergunte a quem fez o site: uma opção apagada à sorte pode partir uma funcionalidade inteira.

Evitar que volte a encher

Limpar uma vez resolve hoje. Estas duas linhas no wp-config.php, por cima da que diz para parar de editar, resolvem para o ano que vem:

1 define( 'WP_POST_REVISIONS', 5 ); guarda as cinco últimas revisões de cada texto em vez de todas.
2 define( 'EMPTY_TRASH_DAYS', 7 ); esvazia o lixo ao fim de uma semana em vez de trinta dias.
E apague os plugins que não usa, não basta desactivá-los. Um plugin desativado continua ocupando espaço na base com as opções dele, e continua sendo uma porta por remendar: proteger a entrada do WordPress.

Quando isto não é a solução

Vale a pena dizer para poupar trabalho: limpar a base raramente transforma um site lento num site rápido. As mudanças que dão mais retorno são outras, e estão por ordem em o site está lento: o que faz mesmo diferença. Se o que quer é libertar arquivos e espaço na conta, o caminho é os limites que não vêm no anúncio.

A base cresceu e não percebe por quê? Diga-nos o domínio.

Abrir um pedido

VEJA TAMBÉM

Hospedagem WordPress

Planos de hospedagem

Política de Suporte

PRODUTO RECOMENDADO

Hospedagem de sites com cPanel

Domínio e SSL incluídos, cópias diárias e o painel que já conhece. desde R$ 36,30/mês (plano de 3 anos, com cupom)

Ver planos
Esta resposta foi útil? Sua resposta nos ajuda a melhorar este artigo.