In alcune occasioni, in cui le query devono essere ottimizzate perché lavorano su grandi quantità di dati, durante le nostre prove per scrivere sql che siano più performanti, risulta necessario verificarne i tempi di esecuzione. Transact-SQL mette a disposizione il comando "SET STATISTICS TIME ON" che permette di avere un report riepilogativo dei tempi dettagliati per l'interpretazione, la compilazione e l'esecuzione di una interrogazione. Tuttavia, proprio perché il report è dettagliato, in alcuni casi come ad esempio le stored procedure (che al loro interno possono contenere più interrogazioni), è necessario avere i tempi totali dell'esecuzione e non quelli dettagliati. Per fare fronte a questa esigenza, ho inserito nello script anche un esempio per ottenere questo risultato.
--RIEPILOGO DETTAGLIATO DEI TEMPI DI ESECUZIONE DELLE INTERROGAZIONI
--ATTRAVERSO L'USO DEL COMANDO “SET STATISTICS TIME ON”
SET STATISTICS TIME ON
--QUI DEVE ESSERE INSERITA LA CHIAMATA ALLA STORED PROCEURE, VISTA
--O QUERY ESPLICITA
SET STATISTICS TIME OFF
--QUESTO PICCOLO SCRIPT PERMETTE DI VISUALIZZARE IL TEMPO TOTALE
--IMPIEGATO PER L'ESECUSIONE DELLE CHIAMATE AD UNA STORED PROCEDRE,
--VISTA O INTERROGAZIONI ESPLICITE
DECLARE @start_time DATETIME
SELECT @start_time = GETDATE()
--QUI DEVE ESSERE INSERITA LA CHIAMATA ALLA STORED PROCEURE, VISTA
--O QUERY ESPLICITA
SELECT 'Elapsed time, ms' = DATEDIFF( ms, @start_time, GETDATE() )