Otimização de queries PostgreSQL e estratégia de indexação
Diagnóstico de performance do banco de dados com análise de queries lentas e plano de indexação.
Objetivo do Prompt
Identificar e resolver gargalos de performance no PostgreSQL através de análise de query plans, criação de índices estratégicos e refatoração de consultas.
Exemplo Real de Uso
O e-commerce paranaense MegaStore tem 2.8 milhões de produtos e 15 mil pedidos/dia. A página de busca leva 4.2 segundos para carregar, o dashboard administrativo dá timeout, e o relatório mensal de vendas trava por 45 minutos. O DBA saiu e ninguém sabe otimizar.
Prompt
Otimize a performance do banco de dados PostgreSQL [VERSÃO: 14/15/16] para [NOME DO PROJETO] com as seguintes características: **Contexto do banco:** - Tabelas principais: [LISTA COM NÚMERO DE REGISTROS] - Volume de escrita: [NÚMERO] inserts/updates por hora - Volume de leitura: [NÚMERO] queries por segundo - Tamanho total: [VALOR] GB - Hosting: [RDS/SUPABASE/SELF-HOSTED] com [RAM] de memória **Queries problemáticas (cole o SQL ou descreva):** 1) [QUERY 1 — ex: busca de produtos com filtros múltiplos] 2) [QUERY 2 — ex: relatório agregado com JOINs] 3) [QUERY 3 — ex: dashboard com contagens em tempo real] **1) Análise com EXPLAIN ANALYZE:** - Para cada query, mostre como interpretar o plano de execução - Identifique: Seq Scans desnecessários, Nested Loops caros, Hash Joins ineficientes - Custo estimado vs. custo real - Rows estimadas vs. rows reais (desvio = estatísticas desatualizadas) **2) Estratégia de Indexação:** - Índices B-tree para filtros de igualdade e range - Índices GIN para busca full-text e arrays/JSONB - Índices parciais (WHERE condição) para queries frequentes - Índices compostos (ordem das colunas importa) - Covering indexes (INCLUDE) para evitar table lookups - Estimativa de tamanho de cada índice - Trade-off: impacto na escrita vs. ganho na leitura **3) Refatoração de Queries:** - CTEs vs. subqueries (materialização no PG 14+) - Uso de LATERAL JOIN para queries correlacionadas - Materialized Views para relatórios pesados (refresh strategy) - Partitioning de tabelas grandes por data - Connection pooling com PgBouncer **4) Configuração do PostgreSQL:** - shared_buffers, work_mem, effective_cache_size - max_connections vs. connection pooling - Autovacuum tuning para tabelas com muito UPDATE/DELETE - pg_stat_statements para monitoramento contínuo Para cada otimização, estime o ganho de performance esperado (ex: de 4.2s para < 200ms).
Como usar este prompt
- 1Cole o prompt diretamente no ChatGPT, Claude, Gemini ou qualquer assistente de IA.
- 2Personalize os campos entre colchetes [assim] com suas informações específicas.
- 3Para melhores resultados, forneça contexto adicional sobre seu caso de uso.
- 4Combine múltiplos prompts em uma conversa para resultados mais completos.
- 5Salve os prompts que mais usa para acesso rápido no futuro.
Prompts relacionados
Ver todosDesign de API REST com versionamento e documentação OpenAPI
Projeta uma API REST robusta com padrões de naming, versionamento, paginação e documentação Swagger.
Sistema de autenticação completo com JWT, refresh tokens e RBAC
Implementação segura de autenticação e autorização com tokens rotativos e controle de acesso baseado em roles.
Migração de monolito para microsserviços com event-driven architecture
Estratégia de decomposição de um monolito Node.js em microsserviços com comunicação assíncrona.
Estratégia de caching multi-camada com Redis e CDN
Implementação de cache em múltiplas camadas para reduzir latência e custos de infraestrutura.
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.
Cancele quando quiser. Sem multas.
