Aguarde...

4 de abril de 2020

Como otimizar o banco de dados do seu site

Como otimizar o banco de dados do seu site

Manutenção de banco de dados para iniciantes

Se você não realizar manutenção regular do banco de dados, seu site poderá ficar mais lento com o tempo . Isso pode fazer com que seu site pareça lento para o usuário e afetar os resultados dos mecanismos de pesquisa.

Manutenção de banco de dados é algo que todo mundo que cuida de um site (que usa um banco de dados) deve conhecer. Neste artigo, abordarei a manutenção do banco de dados WordPress, uma dica para a manutenção do Magento e depois terminarei com algumas dicas gerais de otimização que serão aplicadas a qualquer banco de dados.

Se todo o conceito de manutenção de banco de dados parece assustador, eu entendo. Mas não se preocupe: este guia mostrará as ferramentas que você pode usar e codificar exemplos. É adequado para qualquer um.

Manutenção de banco de dados WordPress

Pode ajudar a imaginar o acesso a um banco de dados como tentar encontrar um livro em uma biblioteca. Quanto mais livros houver, mais tempo será necessário para encontrar exatamente o que você está procurando. Com bancos de dados, tabelas desnecessárias podem ocupar espaço, tornando tudo mais difícil de encontrar.

Plugins e temas desativados nos bancos de dados do WordPress podem deixar rastros no banco de dados e ocupar espaço. Fazer uma limpeza regular na primavera pode realmente ajudar.

Podemos usar uma ferramenta chamada phpMyAdmin para examinar os tamanhos de tabela do banco de dados. Se você gerencia um pacote no My20i, escolha phpMyAdmin e clique no banco de dados à esquerda, verá uma lista de tabelas como esta:

Como otimizar o banco de dados do seu site

Se você selecionar pela coluna Tamanho , poderá ver quais tabelas na sua instalação do WordPress são as maiores. Potencialmente, estes podem ser removidos, mantidos ou reduzidos em tamanho.

Recomendamos que você faça um backup do seu banco de dados antes de fazer qualquer coisa, especialmente se você é novo nisso.

Plugins e temas do WordPress

Por exemplo, você pode procurar por tabelas relacionadas a plug-ins desativados e removê-las, pois não são mais necessárias.

Alguns plugins desativados podem ter tabelas muito grandes no lugar. Isso ocorre porque as tabelas e os dados do banco de dados ainda estão em vigor, caso você deseje reativar o plug-in e / ou tema.

Se você não acha que vai reativá-lo, pode remover uma tabela do phpMyAdmin marcando a caixa ao lado e usando a   função DROP TABLE no menu suspenso:

Como otimizar o banco de dados do seu site

Tags não associadas

Periodicamente, você pode ter um número de tags que não estão associadas a nenhuma postagem. Se você removeu um grande número de postagens / artigos, essas tags ainda podem estar presentes no banco de dados.

Essas tags órfãs podem ser removidas fazendo consultas SQL, que podem ser executadas na segunda guia do phpMyAdmin, SQL.

DELETE FROM wp_terms WHERE term_id IN (SELECT term_id FROM wp_term_taxonomy WHERE count = 0 );
DELETE FROM wp_term_taxonomy WHERE term_id not IN (SELECT term_id FROM wp_terms);
DELETE FROM wp_term_relationships WHERE term_taxonomy_id not IN (SELECT term_taxonomy_id FROM wp_term_taxonomy);

Autosaves

Embora os salvamentos automáticos no WordPress possam salvar vidas, eles não são muito gentis com o tamanho do seu banco de dados. Eles podem ser removidos com:

DELETE FROM wp_posts WHERE post_type = “revision” AND post_name LIKE “%autosave%”

Dias de lixo

O WordPress faz alguma limpeza em si. Você pode alterar a frequência de quando esses ‘dias da lixeira’ ocorrem, definindo EMPTY_TRASH_DAYS no seu arquivo wp-config.php da seguinte maneira:

define(‘EMPTY_TRASH_DAYS’, 7);

O valor final é com que frequência, em dias, você deseja que isso aconteça. Aqui, a exclusão do lixo ocorreria a cada sete dias.

Transientes

Os transitórios oferecem um meio de armazenar dados em cache em um banco de dados temporariamente.

Embora isso possa ser útil para reduzir a quantidade de consultas que um site faz, muitas vezes você pode descobrir que o WordPress não removeu os transientes que expiraram – aqueles que têm datas de validade específicas. Transientes expirados podem ser removidos com a seguinte consulta:

DELETE FROM wp_options WHERE option_name LIKE ('%\_transient\_%')

Manutenção de banco de dados Magento

Como otimizar o banco de dados do seu site

Os bancos de dados Magento geralmente podem aumentar de tamanho, mesmo que você não tenha adicionado deliberadamente dados a eles.

Isso geralmente ocorre devido aos dados de log mantidos pela instalação que podem não estar sendo limpos automaticamente. Na maioria dos casos, se você limpar esses dados de log, verá uma grande redução no tamanho do arquivo.

Para remover dados de log no Magento, você precisará:

  1. Efetue login no recurso Magento Admin .
  2. Em seguida, selecione Sistema> Configuração.
  3. Em Avançado , selecione Sistema .
  4. Em Log , selecione Sim em Ativar limpeza de log .
  5. Defina a frequência com a qual você deseja reter os dados de log em Salvar registro , dias .

Para a maioria dos usuários, recomendamos manter apenas os dados do registro por até uma semana, o que é uma prática padrão.

No futuro, o Magento manterá apenas os dados do registro pelo período de tempo definido. Se você achar que seu banco de dados ainda é maior do que você deseja, considere reduzir o número de dias que ele é retido.

Otimização geral do banco de dados

Agora, veremos algumas maneiras gerais de fazer com que os bancos de dados – e, portanto, o seu site – respondam mais rapidamente.

Índices

Voltando à metáfora da biblioteca, você não deseja verificar a lombada de todos os livros para encontrar o que precisa. Um índice pode fazer uma enorme diferença ao consultar grandes conjuntos de dados.

Se uma tabela contiver centenas de milhares de registros, até os servidores de banco de dados mais rápidos se esforçarão para executar uma consulta pretendida se o banco de dados não estiver indexado corretamente.

Um índice pode ser criado com a instrução CREATE INDEX após a criação de uma tabela ou no momento da criação da tabela com a instrução CREATE TABLE .

Por exemplo, vamos imaginar que temos a seguinte tabela (na vida real, você provavelmente teria muito mais registros):

select * from customers;
Eu iriaprimeiro nomeúltimo nomeo emailendereço
1AndrewElliottae@example.com1 estrada exemplo
2KatieGallacherkd@example.com2 Exemplo de estrada
3AlanBealesab@example.com3 Exemplo de estrada
4SheilaWilloughbysw@example.com4 Exemplo de estrada
5DebbieElliottde@example.com5 Exemplo de estrada

Se quisermos encontrar o endereço de e-mail de Debbie Elliott, nossa consulta precisará percorrer todos os registros até encontrar o cliente com o nome e o sobrenome que estamos procurando. Isso é ineficiente.

Para acelerar a recuperação de registros, podemos criar um índice ou índices:

CREATE INDEX by_last_name ON customers (last_name);

Se usarmos EXPLAIN , poderemos verificar o índice ou índices que estão sendo usados ​​para a instrução SELECT que pretendemos executar:

EXPLAIN SELECT * FROM customers WHERE last_name LIKE 'Elli%'\G
Eu iria:1
selecione o tipo:SIMPLES
tabela:clientes
tipo:alcance
possible_keys:by_last_name
chave:by_last_name
key_len:52
ref:NULO
linhas:2
Extra:Usando condição de índice

A partir de agora, o MySQL poderá confiar nesse índice para recuperar os registros mais rapidamente, verificando menos linhas.

Podemos contrastar isso com a tabela first_name. Como mostra o seguinte EXPLAIN , o MySQL está examinando todas as linhas da tabela (cinco), enquanto nosso índice criado anteriormente está examinando apenas duas. Menos linhas significa uma pesquisa mais eficiente:

EXPLAIN SELECT * FROM customers WHERE first_name LIKE 'Deb%'\G
Eu iria:1
selecione o tipo:SIMPLES
tabela:clientes
tipo:TUDO
possible_keys:NULO
chave:NULO
key_len:NULO
ref:NULO
linhas:5
Extra:Usando onde

Os índices podem fazer uma diferença real e melhorar drasticamente o desempenho.

Otimizar tabela

O   comando OPTIMIZE TABLE pode ser útil na redução do tamanho da tabela. Na analogia da biblioteca, é um pouco como reorganizar as prateleiras para que todos os livros sejam menos espalhados, para que você não precise andar tão longe entre os corredores.

OPTIMIZE TABLE  pode ser pensado como uma desfragmentação e essencialmente recriará a tabela e recuperará qualquer espaço não utilizado.

Por exemplo, se uma grande parte de uma tabela tiver sido removida (grande número de linhas excluídas), elas ainda serão mantidas, com operações subsequentes ainda “vendo” essas linhas.

Você pode usar  OPTIMIZE TABLE  para recuperar esse espaço.

Para conseguir isso, faça login no  PHPMyAdmin .

A partir desse ponto, podemos selecionar as tabelas para as quais desejamos otimizar e, em seguida, selecionar a opção disponível no menu suspenso:

Como otimizar o banco de dados do seu site

Alguma ideia?

Nós apenas arranhamos a superfície da manutenção do banco de dados, mas espero que isso tenha sido de alguma ajuda para os novos.

Como você pode ver, a manutenção do banco de dados é outra maneira de obter um site mais rápido, além do que já oferecemos como hospedagem rápida na web , uma CDN e um Pacote de Aceleração de Site .

Se você tiver alguma dica simples para o banco de dados, informe-nos abaixo. Também sinta-se à vontade para entrar em contato com nossa equipe de suporte.

Postado em Blog
Escreva um comentário