Conforme vamos escrevendo artigos nos blogs WordPress é óbvio que a tabela de posts vai ficando cada vez maior. Cada artigo deveria gerar apenas 1 registro na tabela de posts, além dos registros relacionados às imagens que são usadas no artigo e armazenadas na seção de mídia do WordPress.

O que ocorre no entanto é que o “autosave” e as muitas paradas que fazemos durante a edição dos artigos geram registros do tipo “revisions” na tabela de posts. Esta revisões permitem restaurar alterações feitas nos artigos caso seja necessário voltar ao estado de edição anterior. É um espécia de CTRL+Z para a edição de um artigo.

Toda esta facilidade tem um efeito colateral: a tabela de posts acaba por conter ao final de alguns anos de blog vários registros inúteis, visto que grande parte dos artigos nunca mais serão editados.

Em um dos meus sites com 800 artigos, a tabela de “wp_posts” tinha mais de 10 mil registros. Como os artigos eram grandes e editados por vários usuários ao longo de dias, muitas revisões eram geradas. Em outras palavras: sua tabela de posts pode ficar 90% se seu blog for muito movimentado.

Resolvi apagar todas as revisões e o blog ficou um pouquinho mais rápido, especialmente na área de administração.

Para apagar as revisões de artigos do seu blog WordPress, se sua tabela de posts for a “wp_posts”, utilize o seguinte comando SQL.

delete a,b,c FROM wp_posts a LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id) LEFT JOIN wp_postmeta c ON (a.ID = c.post_id) WHERE a.post_type = ‘revision’

Faça um backup de sua base WordPress antes de usar o comando acima.

Compare a velocidade antes e depois de executar o comando. Muitas vezes será difícil notar alguma diferença, mas com certeza uma tabela menor é mais rápida, tanto para agilizar as buscas quanto para tornar o backup periódico menor e mais rápido.

Deixe um comentário

  • (não será divulgado)