Torna ai template
Sviluppo SoftwareIntermedioUser Prompt

Ottimizzatore di Query SQL

29 marzo 2026·🇬🇧 English

L'Ottimizzatore di Query SQL prende una query SQL lenta o poco performante e produce un'analisi di ottimizzazione completa. Esamina la struttura della query, identifica i colli di bottiglia, raccomanda strategie di indicizzazione e fornisce versioni riscritte con spiegazioni del perché ogni modifica migliora la performance.

Sviluppatori backend, database administrator e data analyst usano questo template quando incontrano query lente in produzione, durante audit di performance, o quando migrano a dataset più grandi che rivelano inefficienze prima nascoste. Funziona con PostgreSQL, MySQL, SQL Server e altri database relazionali.

Il prompt è strutturato per andare oltre suggerimenti superficiali come "aggiungi un indice". Richiede il motore di database e il contesto dello schema così l'AI può fornire raccomandazioni specifiche per il motore. Separa le correzioni rapide dalle modifiche strutturali, offrendoti un percorso prioritizzato dalla soluzione più veloce al refactoring più impattante. Il formato di confronto prima/dopo rende facile verificare i miglioramenti.

Questo prompt e' solo il punto di partenza

Analizzalo con l'AI, ottimizzalo con un click, tieni traccia delle versioni e costruisci la tua libreria.

Punteggio AI su 6 criteri di qualita'
Ottimizzazione con 3 strategie in un click
Storico versioni per monitorare i progressi

Il Prompt

Analizza la seguente query SQL per problemi di performance e fornisci una versione ottimizzata:

**Motore di Database**: [PostgreSQL / MySQL / SQL Server / SQLite / Altro]
**Tempo di Esecuzione Attuale** (se noto): [es. 4,2 secondi]

**Schema delle Tabelle** (tabelle e colonne rilevanti):
```sql
[INCOLLA I CREATE TABLE O DESCRIVI LO SCHEMA: nomi tabelle, nomi colonne, tipi di dato, indici esistenti, numero approssimativo di righe]
```

**La Query Lenta**:
```sql
[INCOLLA QUI LA TUA QUERY SQL]
```

**Contesto**: [COSA FA QUESTA QUERY? es. "Recupera tutti gli ordini con i dettagli del cliente degli ultimi 30 giorni, usata in un endpoint della dashboard chiamato 50 volte al minuto"]

Fornisci la tua analisi con questa struttura:

1. **Valutazione della Query**: In 2-3 frasi, descrivi cosa fa la query e identifica il collo di bottiglia più probabile.

2. **Dettaglio dei Problemi**: Elenca ogni problema di performance trovato, ordinato per impatto. Per ciascuno:
   - Cosa: Nomina il problema specifico (es. "Full table scan sulla tabella ordini", "Subquery correlata eseguita per ogni riga")
   - Perché è un problema: Spiega l'impatto sulla performance in termini concreti
   - Soluzione: Descrivi la correzione

3. **Raccomandazioni sugli Indici**: Suggerisci indici specifici da creare, includendo:
   - L'istruzione CREATE INDEX esatta
   - Quale parte della query viene aiutata da ogni indice
   - Se si tratta di un indice a colonna singola, composito, parziale o covering
   - Eventuali compromessi (overhead in scrittura, costo di storage)

4. **Query Ottimizzata**: Scrivi la query riscritta con commenti inline che spiegano ogni modifica. Se ci sono più livelli di ottimizzazione, fornisci:
   - **Correzione Rapida**: Modifiche minime per un miglioramento immediato (es. aggiunta di una clausola WHERE mancante, correzione dell'ordine dei join)
   - **Riscrittura Completa**: La versione con le migliori performance, che potrebbe ristrutturare significativamente la query (es. sostituire subquery con CTE o window function, materializzare risultati intermedi)

5. **Impatto Atteso**: Stima il miglioramento di performance per ogni livello di ottimizzazione (es. "L'aggiunta dell'indice da sola dovrebbe ridurre il tempo da ~4s a ~200ms, eliminando la full table scan").

6. **Passaggi di Verifica**: Fornisci il comando EXPLAIN o EXPLAIN ANALYZE da eseguire prima e dopo, e spiega cosa cercare nell'output per confermare che l'ottimizzazione funziona.

Consigli d'uso

  • Includi sempre lo schema: Una query non può essere ottimizzata in isolamento. Come minimo, fornisci nomi delle tabelle, tipi di colonna, indici esistenti e numero approssimativo di righe. Più contesto sullo schema dai, più precise saranno le raccomandazioni.
  • Condividi l'output di EXPLAIN se ce l'hai: Incolla l'execution plan insieme alla query. Questo elimina le supposizioni e permette all'AI di individuare il collo di bottiglia esatto invece di ipotizzare.
  • Specifica il motore di database: PostgreSQL, MySQL e SQL Server hanno ottimizzatori diversi, tipi di indice diversi e sintassi diverse per hint e CTE. I consigli specifici per il motore sono enormemente più utili dei consigli SQL generici.
  • Testa prima la Correzione Rapida: La query ottimizzata include spesso sia una correzione rapida che una riscrittura completa. Applica prima la correzione rapida per un sollievo immediato, poi valida e applica la riscrittura completa durante un ciclo di sviluppo dedicato.
  • Attenzione ai compromessi: Ogni nuovo indice accelera le letture ma rallenta le scritture. Se la tua tabella ha traffico intenso in scrittura, segnalalo nel contesto così l'AI potrà raccomandare indici parziali o altre strategie compatibili con carichi di scrittura elevati.

developercodingsqlquality-improvement

Ottieni di piu' da questo prompt

Salvalo, analizzalo con l'AI, ottimizzalo e tieni traccia di ogni versione. Gratis per iniziare.

Punteggio AI su 6 criteri di qualita'
Ottimizzazione con 3 strategie in un click
Storico versioni per monitorare i progressi