AvançadoSQLAberto

Otimização de queries lentas com EXPLAIN ANALYZE e índices

Diagnostica e otimiza consultas SQL lentas usando plano de execução, índices estratégicos e reescrita de queries.

otimização SQLEXPLAIN ANALYZEíndicesperformancePostgreSQL

Objetivo do Prompt

Aprender a identificar gargalos de performance em queries SQL usando EXPLAIN ANALYZE, criar índices eficientes e reescrever consultas para reduzir tempo de resposta.

Exemplo Real de Uso

O dashboard de vendas da Farma Distribuição, que roda sobre uma base PostgreSQL com 12 milhões de registros, está levando 45 segundos para carregar — o CTO precisa que as queries principais rodem em menos de 2 segundos.

Prompt

Analise e otimize as seguintes queries lentas para a base de dados de [NOME DA EMPRESA] com [NÚMERO] registros na tabela principal ([NOME DA TABELA]).

**Query original lenta:**
```sql
[COLE A QUERY LENTA AQUI]
```

**Informações do ambiente:**
- Banco: [PostgreSQL/MySQL versão]
- Tabela principal: [NÚMERO] registros
- Índices existentes: [LISTAR ÍNDICES ATUAIS]
- Tempo atual de execução: [SEGUNDOS]
- Meta de performance: [SEGUNDOS]

**Para cada query, forneça:**

1. **Diagnóstico com EXPLAIN ANALYZE:**
   - Interprete o plano de execução linha por linha
   - Identifique: Seq Scan vs Index Scan, Nested Loop vs Hash Join, Sort em disco
   - Aponte o nó mais custoso (bottleneck)
   - Estime o custo de I/O

2. **Otimizações de índice:**
   - Índices recomendados (B-tree, Hash, GIN, BRIN) com justificativa
   - Índices compostos na ordem correta (seletividade)
   - Índices parciais quando aplicável (WHERE ativo = true)
   - Impacto estimado no INSERT/UPDATE

3. **Reescrita da query:**
   - Versão otimizada com CTEs quando melhorar legibilidade
   - Substituir subqueries correlacionadas por JOINs ou EXISTS
   - Uso de window functions em vez de self-joins
   - LIMIT + OFFSET otimizado com keyset pagination

4. **Comparação antes/depois:**
   - Tabela com: métrica, antes, depois, melhoria %
   - EXPLAIN ANALYZE da query otimizada

5. **Boas práticas gerais:**
   - Quando usar materialização (MATERIALIZED VIEW)
   - Particionamento de tabela por [data/região]
   - Configurações de postgresql.conf relevantes (work_mem, shared_buffers)
   - Rotina de VACUUM e ANALYZE

Foco em ambiente de produção com dados reais brasileiros.

Como usar este prompt

  1. 1Cole o prompt diretamente no ChatGPT, Claude, Gemini ou qualquer assistente de IA.
  2. 2Personalize os campos entre colchetes [assim] com suas informações específicas.
  3. 3Para melhores resultados, forneça contexto adicional sobre seu caso de uso.
  4. 4Combine múltiplos prompts em uma conversa para resultados mais completos.
  5. 5Salve os prompts que mais usa para acesso rápido no futuro.

Prompts relacionados

Ver todos

Explore outras categorias de prompts

Assine o AulasDeIA para desbloquear

Acesse 10.000+ prompts prontos para usar em qualquer profissão, além de todos os cursos da plataforma.

Assinar por R$ 49,90/mês

Cancele quando quiser. Sem multas.