# Checklist de otimização database: 12 passos práticos

> Otimização de banco de dados exige um checklist estruturado de 12 passos práticos, cobrindo índices, queries, hardware e manutenção. O processo inclui análise de planos de execução, remoção de índices redundantes, ajuste de parâmetros de memória e monitoramento de fragmentação. Cada etapa possui critérios objetivos para validar impacto e segurança, evitando alterações arriscadas. A execução sequencial reduz latência e melhora throughput sem comprometer a integridade dos dados.

*Net Propaganda · Apps e Software · 09 de setembro de 2026 · Walquíria Bensaúde Tomaz*

Otimizar banco de dados vai além de rodar um script. Este checklist cobre índices, queries, hardware e manutenção, com critérios claros para você agir com segurança.

Otimizar um banco de dados não é evento único, é rotina. Se você chegou até aqui, provavelmente já enfrentou uma query que demora segundos, um relatório que trava ou um pico de CPU sem explicação. Este checklist é para quem precisa agir com método, sem chutar configuração ou sair criando índice por conta própria. Use-o antes de uma migração, depois de uma reclamação de lentidão ou na revisão trimestral de performance. Ele funciona para MySQL, PostgreSQL, SQL Server e Oracle, com adaptações pontuais.

## 1. Diagnóstico inicial: medir antes de tocar

### Identifique as queries mais lentas

Ative o log de queries lentas ou use uma ferramenta de monitoramento. Sem saber quais consultas consomem mais tempo, você otimiza no escuro. No MySQL, o slow query log mostra exatamente onde começar.

### Capture o baseline de performance

Registre tempo médio de resposta, uso de CPU e I/O em horário de pico. Esse número inicial é seu ponto de comparação. Sem ele, não há como saber se a otimização surtiu efeito.

### Verifique locks e bloqueios atuais

Consultas que esperam liberação de lock são causa comum de lentidão intermitente. Use a view de processos ativos do seu SGBD para ver o que está travado agora.

## 2. Índices: onde mora a maior parte do ganho

### Revise índices existentes e remova redundâncias

Índice demais também prejudica: cada INSERT e UPDATE precisa atualizá-los. Liste os índices de cada tabela e remova os que nunca são usados pelo plano de execução.

### Crie índices para as colunas usadas em WHERE e JOIN

Colunas de filtro e junção são as primeiras candidatas. Mas atenção: índice composto exige ordem correta. A coluna mais seletiva vem primeiro, senão o SGBD ignora parte do índice.

### Use EXPLAIN para validar cada índice novo

Antes de aplicar, rode o plano de execução da query. Confirme que o índice proposto é usado. Se o plano continua fazendo full scan, o índice não resolve o problema.

## 3. Consultas: reescrever antes de escalar hardware

### Evite SELECT * em tabelas largas

Buscar colunas desnecessárias aumenta I/O e tráfego de rede. Liste apenas os campos que a aplicação realmente consome. Em tabelas com mais de 30 colunas, o ganho é visível.

### Desconfie de funções em colunas indexadas

WHERE DATE(data) = '2024-01-01' impede o uso de índice na coluna data. Reescreva como intervalo: data >= '2024-01-01' AND data

---

Fonte (canonical): https://netpropaganda.com.br/apps-e-software/checklist-de-otimizacao-database-12-passos-praticos/
