O MySQL é um dos mais populares sistemas de gerenciamento de banco de dados para servidores web. Se você estiver rodando um site WordPress, há uma boa chance de que ele use o MySQL para seu banco de dados. Isso faz com que seja essencial para você entender como otimizar o desempenho do MySQL.

Por “afinar” o MySQL, nós queremos dizer otimizar seu banco de dados para que o software possa responder às consultas mais rapidamente. Em última análise, isso pode levar a tempos de carregamento mais curtos e a um site mais rápido. Além disso, se você mantiver seu banco de dados corretamente, ele deve continuar a oferecer alta performance mesmo quando ele crescer em tamanho.

Neste artigo, nós vamos fornecer uma breve visão geral do que é o MySQL e como ele funciona. Então nós vamos explorar como otimizar o desempenho do MySQL usando quatro dicas essenciais.

Vamos nessa!

O que é o MySQL e como ele funciona

Sites dinâmicos armazenam informações em bancos de dados, um termo extravagante para uma estrutura complexa de tabelas contendo grandes quantidades de informações. Os bancos de dados permitem que você armazene variáveis e as “consulte” para obter as informações que você precisa. Por exemplo, quando você carrega um site WordPress, o Content Management System (CMS) se conectará ao seu banco de dados para obter as informações de que precisa.

Se por alguma razão o WordPress não conseguir se conectar ao banco de dados, você pode encontrar erros como “MySQL Server Has Gone Away” ou “MySQL 1064“. O MySQL é um software de código aberto que permite a você criar e gerenciar bancos de dados. Está longe de ser o único sistema de gerenciamento de banco de dados disponível online. No entanto, ele domina em termos de participação de mercado, com cerca de 15% de todos os sites que o utilizam.

Participação de mercado MySQL.
Participação de mercado MySQL.

Existem diferentes abordagens para o gerenciamento de banco de dados, e o MySQL usa modelos “relacionais” e “cliente-servidor”. Aqui está o que isso significa:

  • Bancos de dados relacionais – Este tipo de banco de dados quebra informações em tabelas. Graças ao modelo relacional, você é capaz de conectar dados de múltiplas tabelas usando “chaves” ou identificadores únicos.
  • Modelo cliente-servidor – Com este modelo, seu banco de dados reside no servidor, e seu site é o cliente. Os navegadores fazem pedidos ao seu site, que por sua vez consulta o banco de dados.

Como MySQL é um software de código aberto, há muitos garfos disponíveis. Aqui em Kinsta, por exemplo, nós usamos MariaDB, que é um garfo do MySQL. Nós optamos por usar o MariaDB porque ele oferece melhor desempenho em relação ao seu software pai.

Se você é um usuário Kinsta, você não precisa se preocupar em executar uma música de performance do MySQL enquanto nós lidamos com ela para você.

Aprender como fazer o MySQL rodar mais rápido por conta própria ainda é uma habilidade valiosa, no entanto, principalmente se o seu web host não cuidar da otimização para você. Vamos falar sobre o que essa otimização implica.

4 dicas para otimizar o desempenho do MySQL

Se você usa WordPress e quer aprender como fazer o MySQL rodar mais rápido, sua melhor aposta não será focar em configurações específicas. Ao invés disso, você vai querer afinar seu banco de dados para corresponder à forma como você usa o WordPress. Vamos falar sobre o que isso significa.

1. Mantenha sua versão do MySQL em dia

A maioria dos provedores de hospedagens irão atualizar automaticamente o MySQL para a versão mais recente para você. Entretanto, se você tiver controle completo sobre seu servidor, você precisará atualizar manualmente seu sistema de gerenciamento de banco de dados. Já que você está usando o WordPress, você provavelmente entende os benefícios de manter o software atualizado. Existem muitas vantagens do ajuste de performance do MySQL, como por exemplo:

Um software de gerenciamento de banco de dados mais rápido se traduz diretamente em menores tempos de carregamento. Entretanto, pode ser que você não saiba qual versão do MySQL você está usando. Se você tiver acesso total ao seu servidor, você pode iniciar a linha de comando e executar o seguinte comando:

mysql -v

O -v irá retornar informações sobre a versão do MySQL que seu servidor utiliza. Você pode comparar essa informação com os últimos lançamentos no site oficial do MySQL para ver as versões mais recentes disponíveis. Se você não estiver confortável usando a linha de comando, você pode descobrir qual versão do MySQL você está usando através do painel do WordPress.

Primeiro, acesse o painel e vá para Tools > Site Health. A seguir, abra a aba Info e clique em Database:

Verificando a versão do MySQL no WordPress.
Verificando a versão do MySQL no WordPress.

Dependendo de sua versão do MySQL, o software pode ser atualizado automaticamente. Caso contrário, você pode usar a linha de comando para atualizar o MySQL para a versão mais recente. Se você estiver usando Kinsta, você não precisa se preocupar em atualizar o software de gerenciamento de banco de dados. Ao invés disso, nós atualizamos automaticamente para a última versão estável do MariaDB.

2. Verifique seu banco de dados se não contêm tabelas órfãs

Muitas vezes, os plugins e temas do site que você desinstala do seu site deixarão os dados para trás. Isso pode ser devido a padrões de codificação deficientes, ou porque os plugins/temas decidem armazenar esses dados no caso de você querer reinstalá-los. A idéia por trás desta abordagem é que deixando as configurações armazenadas em seu banco de dados você economizará tempo e trabalhará para baixo da linha.

Entretanto, todas essas tabelas não utilizadas podem levar a um banco de dados inchado, o que, por sua vez, pode retardar as consultas, dependendo das capacidades do seu servidor. Idealmente, você irá limpar depois de desinstalar os plugins para que você possa evitar o acúmulo de tabelas e dados órfãos. Há duas maneiras de você realizar essa tarefa: manualmente ou usando um plugin.

Uma vez que você tenha um backup, você pode acessar seu banco de dados através do phpMyAdmin. Se você é um usuário Kinsta, entre no seu painel MyKinsta e vá para Sites. Selecione o site no qual você quer trabalhar e vá para sua aba Info . Lá você encontrará um link que lhe dará acesso direto ao seu banco de dados através do phpMyAdmin:

Acesso ao phpMyAdmin via MyKinsta.
Acesso ao phpMyAdmin via MyKinsta

Uma vez que você esteja dentro do phpMyAdmin, você pode usar o recurso de busca do software para encontrar tabelas órfãs relacionadas a plugins específicos. O problema com este método é que pode ser difícil saber que consultas usar a menos que o plugin que você está tentando limpar depois tenha uma documentação abrangente.

Por exemplo, Yoast SEO recomenda o uso da consulta wpseo para encontrar tabelas relacionadas ao plugin depois de desinstalá-lo. Executando uma busca rápida usando phpMyAdmin retornará uma lista de entradas contendo esse termo em diferentes tabelas:

Procurando por entradas relacionadas a Yoast SEO em seu banco de dados.
Procurando por entradas relacionadas a Yoast SEO em seu banco de dados

Embora o método manual funcione, nós encorajamos você a usar uma solução de plugin de limpeza de banco de dados. Com alguns destes plugins, você poderá até mesmo encontrar tabelas órfãs de dentro do painel e apagá-las sem ter que cavar através do phpMyAdmin.

3. Determine quais dados o MySQL está carregando automaticamente

Cada banco de dados WordPress inclui uma ampla variedade de tabelas. Uma dessas tabelas se chama wp_options, e contém informações como, por exemplo

  • Configurações de plugins e temas
  • URL do seu site, nome do blog, descrição, e mais

Se você verificar a tabela wp_options usando o phpMyAdmin, você vai notar uma coluna chamada autoload. O WordPress verifica a existência de linhas com uma entrada yes em autoload, então carrega esses dados toda vez que alguém acessa seu site e visita qualquer uma de suas páginas:

Verificando wp_options para carregamento automático de dados.
Verificando wp_options para carregamento automático de dados

Fora da caixa, o WordPress só deve carregar automaticamente dados críticos. No entanto, alguns plugins e temas adicionam dados a wp_options e os configuram para carregar automaticamente. Com o tempo, esse carregamento automático de dados pode diminuir o tempo de resposta, como se você tivesse muitos programas configurados para serem iniciados automaticamente quando você liga seu computador.

Se o seu site WordPress estiver lento e você puder ver muitas entradas relacionadas a plugins em wp_options, nós recomendamos que você verifique quantos dados são carregados automaticamente no WordPress, e identifique quais plugins você pode desativar.

4. Revisões de limpeza, rascunhos, comentários na lixeira e artigos

Conforme você usa o WordPress, seu site irá acumular muitos dados não utilizados. Por exemplo, o WordPress salva automaticamente várias revisões e rascunhos para suas postagens, dependendo de quantas mudanças você fizer neles. Ao longo do tempo, todos esses dados podem inchar seu banco de dados, então é uma boa prática limpar essas entradas periodicamente. A melhor maneira de fazer isso é com um plugin, como o Advanced Database Cleaner:

O plugin Advanced Database Cleaner do WordPress.
O plugin Advanced Database Cleaner do WordPress

Você não precisa usar a versão premium do plugin para esta tarefa (ao contrário de quando se trata de tabelas órfãs). Uma vez habilitado o plugin, você pode ir para a aba WP DB Cleaner e ver a seção General cleanup. Lá, você encontrará uma lista completa de todos os dados transitórios que o plugin pode ajudá-lo a remover do banco de dados:

Usando o Limpador Avançado de Banco de Dados para limpar o seu banco de dados.
Usando o Limpador Avançado de Banco de Dados para limpar o seu banco de dados

Você pode selecionar quais tabelas “limpar” ou esvaziar, e então executar o processo manualmente. Alternativamente, o plugin permite que você agende limpe as tabelas que você escolher, e configure-as para serem executadas periodicamente. Essa última opção é sua melhor aposta – significa que você terá uma tarefa a menos com que se preocupar. No entanto, nós recomendamos que você não reconfigure a limpeza do banco de dados para rodar com muita frequência. Dessa forma, você ainda terá acesso aos rascunhos anteriores, caso precise deles.

Resumo

Os benefícios de otmizar o desempenho do MySQL são muitos. Entretanto, a principal razão pela qual você vai querer otimizar seu banco de dados é para aumentar sua performance, então seu site sempre carrega o mais rápido possível. Já que você está usando o WordPress, há muitas maneiras de executar um ajuste de de desempenho do MySQL sem alterar a configuração do software. Se você está interessado em aprender como fazer o MySQL rodar mais rápido, aqui estão quatro dicas para você começar:

  1. Mantenha a sua versão do MySQL atualizada.
  2. Verifique seu banco de dados se não contêm tabelas órfãs
  3. Determine quais dados o MySQL está carregando automaticamente.
  4. Revisões de limpeza, rascunhos, comentários na lixeira e artigos.

Você tem outras dicas para o ajuste fino do banco de dados MySQL? Por favor, compartilhe-as com nossa comunidade nos comentários abaixo!

Salman Ravoof

Salman Ravoof is a self-taught web developer, writer, creator, and a huge admirer of Free and Open Source Software (FOSS). Besides tech, he's excited by science, philosophy, photography, arts, cats, and food. Learn more about him on his website, and connect with Salman on Twitter.