Escrever e otimizar uma consulta SQL

Obtenha uma consulta SQL correta a partir de um requisito em linguagem simples, com índices recomendados e explicação do plano. Pensado para ChatGPT, Claude e Gemini. Inclui 4 variáveis personalizáveis e pode copiá-lo gratuitamente com um clique.

Intermédio · Código · Pendente de revisão editorial

Pensado para:

Prompt

Age como um administrador de bases de dados especialista em {{engine}}.

Esquema (tabelas e colunas relevantes):
```
{{schema}}
```

Preciso de uma consulta que: {{need}}
Volume aproximado de dados: {{volume}}

Entrega:
1. A consulta SQL, formatada e comentada.
2. Uma explicação passo a passo do que faz cada parte.
3. Índices recomendados (instruções CREATE INDEX) e porquê.
4. Possíveis problemas de desempenho e como os verificar com EXPLAIN.
5. Casos limite (valores NULL, duplicados, fusos horários) e como a consulta os trata.

Usa apenas sintaxe compatível com {{engine}}. A consulta deve ser só de leitura (SELECT): não modifiques dados. Os CREATE INDEX são recomendações para eu rever e executar; mantém-nos separados da consulta.

Como utilizar

Cole apenas a estrutura das tabelas (CREATE TABLE ou lista de colunas), nunca dados reais de clientes.

Exemplo de utilização

Necessidade: os 10 clientes com maior gasto nos últimos 90 dias e o respetivo número de encomendas.

Exemplo de resultado

1. Consulta

-- Top 10 clientes por gasto nos últimos 90 dias
SELECT
    c.id,
    c.nome,
    c.email,
    SUM(e.total) AS gasto_90d,
    COUNT(*)     AS num_encomendas
FROM encomendas AS e
JOIN clientes AS c ON c.id = e.cliente_id
WHERE e.criada_em >= NOW() - INTERVAL 90 DAY   -- intervalo sargable: usa o índice
  AND e.total IS NOT NULL
GROUP BY c.id, c.nome, c.email
ORDER BY gasto_90d DESC
LIMIT 10;

Primeiro filtram-se as encomendas do período, depois agrupam-se por cliente e ordena-se pela soma.

3. Índice recomendado

CREATE INDEX idx_encomendas_criada_cliente_total
    ON encomendas (criada_em, cliente_id, total);

É um índice de cobertura: o filtro por data percorre só o intervalo necessário e cliente_id e total são lidos sem aceder à tabela.

4. Verificar com EXPLAIN

Execute EXPLAIN ANALYZE e confirme que encomendas aparece com type: range e Using index. Um type: ALL indica leitura completa da tabela.

5. Casos-limite

  • Fuso horário: NOW() usa o do servidor; se criada_em estiver em UTC, use UTC_TIMESTAMP().
  • Empates na 10.ª posição: acrescente c.id ao ORDER BY para um resultado estável…

Dados-chave

Categoria
Programação e desenvolvimento · SQL
Tipo de resultado
Código
Nível
Intermédio
Pensado para
ChatGPT, Claude e Gemini
Verificado em
Pendente de verificação editorial
Variáveis
Motor de base de dados, Esquema, O que precisa e Volume de dados
Idioma
Português
Preço
Gratuito, sem registo
Atualizado
07/11/2026

Perguntas frequentes

Devo criar os índices sugeridos diretamente em produção?

Não. Teste-os primeiro numa cópia de testes e compare o resultado do EXPLAIN, porque cada índice acelera algumas leituras mas torna as escritas mais lentas e ocupa espaço em disco.

Tenho de colar dados reais?

Não. Basta a estrutura das tabelas e um número aproximado de linhas. Nunca cole dados pessoais ou de clientes numa ferramenta de IA.

Para que serve este prompt?

Obtenha uma consulta SQL correta a partir de um requisito em linguagem simples, com índices recomendados e explicação do plano.

Com que ferramentas de IA funciona?

Foi pensado para ChatGPT, Claude e Gemini. Ainda não o verificámos nestas ferramentas, pelo que os resultados podem variar entre elas.

Como personalizo o prompt?

Clique em “Personalizar” e preencha as variáveis (Motor de base de dados, Esquema, O que precisa e Volume de dados). O texto atualiza-se instantaneamente e pode depois copiá-lo com um clique. Os valores ficam guardados apenas no seu navegador.

Preciso de experiência para o utilizar?

É de nível intermédio: convém conhecer o tema para fornecer bom contexto e rever o resultado com sentido crítico.

Este prompt é gratuito?

Sim. Todos os prompts do HomeCasa Prompts são gratuitos, sem registo nem subscrição. Pode também utilizá-los em projetos profissionais.

Posso confiar no resultado da IA?

Trate-o como um rascunho de qualidade: verifique sempre os dados, os números e as afirmações importantes antes de publicar ou tomar decisões.

Prompts relacionados