In questa lezione affronteremo i seguenti argomenti:
• Ottimizzazione avanzata delle query
• Monitoraggio delle prestazioni con SQL Server Profiler
• Strumenti di diagnostica e gestione delle prestazioni
• Approfondimenti sull'ottimizzazione di stored procedure
Ottimizzazione avanzata delle query:
-- Utilizzo di indici e ottimizzazione della query
CREATE INDEX IDX_Nome ON Utente(Nome);
CREATE INDEX IDX_Citta ON Utente(Citta);
-- Query ottimizzata
SELECT Nome, Cognome FROM Utente WHERE Citta = 'Roma' AND Nome LIKE 'M%';
In questo esempio, vengono creati indici sulle colonne Nome e Città per ottimizzare la query che seleziona utenti di Roma con un nome che inizia con 'M'.
Monitoraggio delle prestazioni con SQL Server Profiler:
SQL Server Profiler è uno strumento di monitoraggio delle prestazioni che consente di analizzare l'esecuzione delle query.
Esempio:
-- Utilizzo di SQL Server Profiler per monitorare le query
...
-- Configurazione di Profiler per catturare eventi di esecuzione delle query
...
SQL Server Profiler permette di catturare e analizzare le query eseguite sul database per identificare eventuali problematiche di prestazioni.
Strumenti di diagnostica e gestione delle prestazioni:
-- Utilizzo di DMV (Dynamic Management Views) per la diagnostica delle prestazioni
SELECT * FROM sys.dm_exec_query_stats;
-- Utilizzo di Extended Events per monitorare le prestazioni
...
-- Configurazione di una sessione di Extended Events
...
Le DMV forniscono informazioni sulle query eseguite, mentre gli Extended Events permettono di monitorare in modo dettagliato gli eventi del sistema.
Approfondimenti sull'ottimizzazione di stored procedure:
-- Utilizzo di SET STATISTICS TIME e SET STATISTICS IO per analizzare le prestazioni
SET STATISTICS TIME ON;
SET STATISTICS IO ON;
-- Esecuzione di una stored procedure da analizzare
EXEC SpProva;
-- Analisi dei risultati di prestazione
Questi comandi forniscono statistiche dettagliate sull'esecuzione di una stored procedure per l'analisi delle prestazioni.
In questa lezione, abbiamo esplorato tecniche avanzate per ottimizzare le prestazioni in Transact-SQL, inclusa la creazione di indici, l'uso di SQL Server Profiler, l'utilizzo di DMV e Extended Events per la diagnostica delle prestazioni e l'analisi delle prestazioni delle stored procedure.
Queste competenze avanzate consentono di affrontare sfide complesse e migliorare in modo significativo le prestazioni del database.
Con questo, concludiamo il nostro corso su Transact-SQL. Grazie per l'interesse dimostrato ;)