Scrivi e ottimizza una query SQL

Ottieni una query SQL corretta a partire da un requisito in linguaggio naturale, con gli indici consigliati e la spiegazione del piano di esecuzione. Pensato per ChatGPT, Claude e Gemini. Include 4 variabili personalizzabili e puoi copiarlo gratuitamente con un clic.

Intermedio · Codice · In attesa di revisione editoriale

Prompt

Agisci come amministratore di database esperto di {{engine}}.

Schema (tabelle e colonne rilevanti):
```
{{schema}}
```

Mi serve una query che: {{need}}
Volume approssimativo dei dati: {{volume}}

Consegna:
1. La query SQL, formattata e commentata.
2. Una spiegazione passo passo di cosa fa ogni parte.
3. Indici consigliati (istruzioni CREATE INDEX) e perché.
4. Possibili problemi di prestazioni e come verificarli con EXPLAIN.
5. Casi limite (valori NULL, duplicati, fusi orari) e come li gestisce la query.

Usa solo sintassi compatibile con {{engine}}. La query deve essere di sola lettura (SELECT): non modificare i dati. I CREATE INDEX sono raccomandazioni che rivedrò ed eseguirò io; tienili separati dalla query.

Come usarlo

Incolla solo la struttura delle tabelle (CREATE TABLE o elenco delle colonne), mai dati reali dei clienti.

Esempio d'uso

Esigenza: i 10 clienti con la spesa più alta negli ultimi 90 giorni e il loro numero di ordini.

Esempio di risultato

1. Query

-- Top 10 clienti per spesa negli ultimi 90 giorni
SELECT
    c.id,
    c.nome,
    c.email,
    SUM(o.totale) AS spesa_90g,
    COUNT(*)      AS num_ordini
FROM ordini AS o
JOIN clienti AS c ON c.id = o.cliente_id
WHERE o.creato_il >= NOW() - INTERVAL 90 DAY   -- intervallo sargable: usa l'indice
  AND o.totale IS NOT NULL
GROUP BY c.id, c.nome, c.email
ORDER BY spesa_90g DESC
LIMIT 10;

Prima si filtrano gli ordini del periodo, poi si raggruppano per cliente e si ordina per somma.

3. Indice consigliato

CREATE INDEX idx_ordini_creato_cliente_totale
    ON ordini (creato_il, cliente_id, totale);

È un indice coprente: il filtro sulla data legge solo l'intervallo necessario e cliente_id e totale si ricavano senza accedere alla tabella.

4. Verifica con EXPLAIN

Esegui EXPLAIN ANALYZE e controlla che ordini compaia con type: range e Using index. Un type: ALL indica una scansione completa.

5. Casi limite

  • Fuso orario: NOW() usa quello del server; se creato_il è in UTC, usa UTC_TIMESTAMP().
  • Pareggi al 10° posto: aggiungi c.id all'ORDER BY per un risultato stabile…

Dati chiave

Categoria
Programmazione e sviluppo · SQL
Tipo di output
Codice
Livello
Intermedio
Pensato per
ChatGPT, Claude e Gemini
Verificato in
In attesa di verifica editoriale
Variabili
Motore di database, Schema, Cosa ti serve e Volume dei dati
Lingua
Italiano
Prezzo
Gratuito, senza registrazione
Aggiornato
07/11/2026

Domande frequenti

Devo creare subito in produzione gli indici suggeriti?

No. Provali prima su una copia di staging e confronta l'output di EXPLAIN, perché ogni indice velocizza alcune letture ma rallenta le scritture e occupa spazio su disco.

Devo incollare dati reali?

No. Bastano la struttura delle tabelle e un numero approssimativo di righe. Non incollare mai dati personali o dei clienti in uno strumento di IA.

A cosa serve questo prompt?

Ottieni una query SQL corretta a partire da un requisito in linguaggio naturale, con gli indici consigliati e la spiegazione del piano di esecuzione.

Con quali strumenti di IA funziona?

È pensato per ChatGPT, Claude e Gemini. Non lo abbiamo ancora verificato in questi strumenti, quindi i risultati possono variare da uno all'altro.

Come personalizzo il prompt?

Clicca su «Personalizza» e compila le variabili (Motore di database, Schema, Cosa ti serve e Volume dei dati). Il testo si aggiorna all'istante e poi puoi copiarlo con un clic. I valori vengono salvati solo nel tuo browser.

Serve esperienza per usarlo?

È di livello intermedio: conviene conoscere l'argomento per fornire un buon contesto e valutare il risultato con occhio critico.

Questo prompt è gratuito?

Sì. Tutti i prompt di HomeCasa Prompts sono gratuiti, senza registrazione né abbonamento. Puoi usarli anche in progetti professionali.

Posso fidarmi dell'output dell'IA?

Consideralo una bozza di alta qualità: verifica sempre dati, cifre e affermazioni importanti prima di pubblicare o prendere decisioni.

Prompt correlati