In questa lezione affronteremo i seguenti argomenti:
• Analisi ed esecuzione di piani di esecuzione delle query
• Indici e la loro importanza
• Utilizzo di indici per migliorare le prestazioni
• Ottimizzazione delle query con JOIN
Analisi ed esecuzione di piani di esecuzione delle query:
Il piano di esecuzione di una query rappresenta il percorso che il motore del database seguirà per ottenere i risultati.
L'analisi del piano di esecuzione aiuta a identificare aree di ottimizzazione.
Esempio:
-- Abilita la visualizzazione del piano di esecuzione
SET SHOWPLAN_TEXT ON;
-- Query da analizzare
SELECT Nome, Cognome FROM Utente WHERE Eta > 25;
-- Disabilita la visualizzazione del piano di esecuzione
SET SHOWPLAN_TEXT OFF;
L'analisi del piano di esecuzione mostra come SQL Server esegue la query, aiutando a ottimizzare le prestazioni.
Indici e la loro importanza:
Gli indici sono strumenti chiave per ottimizzare le query.
Esempio:
-- Creazione di un indice sulla colonna Età
CREATE INDEX IDX_Eta ON Utente(Eta);
-- Query che beneficia dall'indice
SELECT Nome, Cognome FROM Utente WHERE Eta > 25;
Gli indici accelerano la ricerca dei dati, migliorando le prestazioni delle query.
Utilizzo di indici per migliorare le prestazioni:
La progettazione corretta degli indici è cruciale per ottenere le massime prestazioni.
Esempio:
-- Creazione di un indice composto
CREATE INDEX IDX_NomeCognome ON Utente(Nome, Cognome);
-- Query che sfrutta l'indice composto
SELECT Nome, Cognome FROM Utente WHERE Nome = 'Mario' AND Cognome = 'Rossi';
Gli indici composti coprono più colonne e possono migliorare le prestazioni nelle query filtrate su più criteri.
Ottimizzazione delle query con JOIN:
L'utilizzo corretto degli operatori JOIN è essenziale per ottenere prestazioni ottimali nelle query che coinvolgono più tabelle.
Esempio:
-- Query con INNER JOIN
SELECT Utente.Nome, Ordine.NumeroOrdine
FROM Utente INNER JOIN Ordine ON Utente.UserID = Ordine.UserID;
Gli operatori JOIN collegano le tabelle in base alle relazioni specificate, migliorando l'efficienza delle query complesse.
In questa lezione, abbiamo esplorato strumenti e tecniche per ottimizzare le query in Transact-SQL, inclusa l'analisi del piano di esecuzione, la progettazione degli indici e l'uso efficiente degli operatori JOIN.
Nelle prossime lezioni, approfondiremo la creazione di viste e trigger per ulteriori miglioramenti delle prestazioni.