DEV Community

Mike Fortes
Mike Fortes

Posted on • Originally published at mromeiro-f.Medium on

Otimizando seu banco !

Otimizando seu banco !

Essa semana dei atenção a um problema que estava postergando a bastante tempo aqui onde trabalho, o MySQL.

Desde o inicio atestei que o ambiente estava crescendo de forma desordenada, e o banco estava uma bagunça, porem não tinha conhecimentos tão aprofundados em MySQL para manipular suas tabelas com segurança, ou efetuar qualquer tipo de procedimento sem medo de corromper tudo e perder o emprego (rs);

Fiz algumas pesquisas, e vi que como o Zabbix efetua muitas consultas de DELETE, o principal problema de crescimento, pode ser corrigido com alguns comandos simples.

Importante, aconselho utilizar os comandos abaixo apenas com seu Zabbix parado.

Check Table

Primeiramente o mais importante creio que seja verificar a saúde do seu banco ao todo. Com o “check table” você pode verificar erros e inconsistências nas tabelas;

Repair Table

Se o comando anterior detectar erros, é necessário utilizar o repair table;

Optimize Table

Normalmente o Zabbix efetua muitas operações de exclusão, deixando assim os registros desordenados. Com o optimize table, ele vai desfragmentar e liberar algum espaço da sua tabela.

Mas e como saber disso pode me ajudar?

Bem, o Zabbix é um monstro em leitura/escrita dentro do MySQL, sendo assim, sempre tem tabelas que podem ter espaço sendo desperdiçado, aguardando um optimize… a pergunta é, como saber quais tabelas posso fazer isso?

Ao logar no MySQL, selecione o banco utilizado pelo zabbix, e rode o comando abaixo:

SELECT TABLE_NAME, ROUND((DATA_LENGTH + INDEX_LENGTH)/1024/1024) AS USED_SPACE_MB, ROUND(DATA_FREE/1024/1024) AS UNUSED_SPACE_MB FROM INFORMATION_SCHEMA.TABLES WHERE ROUND(DATA_FREE/1024/1024) > 100 ORDER BY UNUSED_SPACE_MB DESC;

Ele vai mostrar todas as tabelas com mais de 100MB sem uso, prontas para seu deleite (rs). Depois é só dar um “optimize table ___ ;” e ver seu disco sendo liberado.

Do your career a big favor. Join DEV. (The website you're on right now)

It takes one minute, it's free, and is worth it for your career.

Get started

Community matters

Top comments (0)

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay