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
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; secriada_emestiver em UTC, useUTC_TIMESTAMP(). - Empates na 10.ª posição: acrescente
c.idaoORDER BYpara 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.