Analizzare le prestazioni degli script

È possibile usare gli strumenti forniti da SQL Server Data Tools per determinare se è possibile migliorare le prestazioni delle query, delle stored procedure o degli script. Ad esempio, monitorando le statistiche client, ad esempio i tempi di risposta per le query usate di frequente, è possibile determinare se sono necessarie modifiche alla query o agli indici nelle tabelle. Tali statistiche possono includere il tempo di esecuzione del client, il profilo di query e i pacchetti/byte inviati e ricevuti.

Inoltre, alcuni problemi di prestazioni vengono risolti meglio analizzando le query e gli aggiornamenti dell'applicazione inviati dall'applicazione al database e il modo in cui queste query e gli aggiornamenti interagiscono con i dati contenuti nel database e nello schema del database. I piani di esecuzione visualizzano graficamente i metodi di recupero dati scelti da Query Optimizer di SQL Server e mostrano il costo di esecuzione di istruzioni e query specifiche. Possono quindi essere utili per comprendere in che modo SQL Server elabora la query SQL e determinare cosa sta causando un rallentamento delle prestazioni.

Usare le statistiche client

Quando si esegue uno script o una query nell'editor Transact-SQL, è possibile scegliere di raccogliere statistiche client, ad esempio profilo applicazione, rete e statistiche temporali per l'esecuzione. Queste metriche consentono di misurare l'efficienza dello script o di eseguire il benchmark di script diversi.

Per attivare o disattivare la raccolta di statistiche client, quando l'editor di Transact-SQL è aperto, nel menu Dati scegliere Transact-SQL Editor, selezionare Impostazioni di esecuzione e Includi statistiche client. In alternativa, selezionare il pulsante Includi statistiche client (il quinto a destra) sulla barra degli strumenti dell'editor Transact-SQL oppure facendo clic con il pulsante destro del mouse nell'editor Transact-SQL e quindi scegliendo Impostazioni di esecuzione e Includi statistiche client. Per raccogliere statistiche per una query, è necessario attivare questa funzionalità prima di eseguirla.

Se sono state attivate le statistiche client, la scheda Statistiche viene visualizzata accanto alla scheda Messaggio durante l'esecuzione della query. Se sono state disattivate le statistiche client, la scheda Statistiche non viene visualizzata. Le statistiche delle esecuzioni di query successive sono elencate insieme ai valori medi.

Per ulteriori informazioni sulle statistiche che sono state raccolte, consultare il riquadro Statistiche Query finestra e la scheda delle Statistiche del client.

Usare i piani di esecuzione

I piani di esecuzione mostrano come il motore di database sposta le tabelle e usa gli indici per accedere o elaborare i dati per una query o un'altra istruzione DML, ad esempio un aggiornamento. Questo approccio grafico è molto utile per comprendere le caratteristiche delle prestazioni di una query.

Aprire uno script Transact-SQL che contiene le query da analizzare nell'editor di Transact-SQL. È quindi possibile evidenziare il codice da rivedere e scegliere di visualizzare un piano di esecuzione stimato selezionando il pulsante Visualizza piano di esecuzione stimato sulla barra degli strumenti dell'editor. Se si seleziona Visualizza piano di esecuzione stimato, le query o i batch Transact-SQL non vengono eseguiti. Lo script viene invece analizzato e il piano di esecuzione della query che il motore di database userebbe più probabilmente se le query sono state effettivamente eseguite viene visualizzato.

Dopo l'analisi o l'esecuzione dello script, selezionare la scheda Piano di esecuzione per visualizzare una rappresentazione grafica dell'output del piano di esecuzione.

L'output del piano di esecuzione grafico viene letto da destra a sinistra e dall'alto verso il basso. Ogni query nel batch analizzato viene visualizzata, incluso il costo di ogni query come percentuale del costo totale del batch. Per visualizzare informazioni aggiuntive, ad esempio costi e operazioni per ogni passaggio, posizionare il puntatore del mouse sulle icone dell'operatore logico e fisico nel piano grafico.

Per modificare la visualizzazione del piano di esecuzione, fare clic con il pulsante destro del mouse sul piano di esecuzione e selezionare Ingrandisci, Riduci, Zoom personalizzato o Adatta allo schermo. Zoom avanti e zoom indietro consentono di ingrandire o ridurre il piano di esecuzione in base a importi fissi. Lo zoom personalizzato consente di definire l'ingrandimento dello schermo personalizzato, ad esempio lo zoom all'80%. Lo zoom su Adatta regola il piano di esecuzione per adattarlo al riquadro dei risultati.

I piani di esecuzione possono essere salvati e riaperti in un secondo momento per l'esame. A tale scopo, fare clic con il pulsante destro del mouse sul piano di esecuzione e scegliere Salva piano di esecuzione come. Successivamente, è possibile aprire il piano in Visual Studio esattamente come aprire qualsiasi altro tipo di file.

Usare l'analisi del codice

È possibile usare l'analisi del codice per individuare potenziali problemi negli script, ad esempio progettazione, denominazione e problemi di prestazioni. Le regole per i progetti di database sono organizzate in set di regole predefiniti destinate a aree specifiche ed è possibile abilitare o disabilitare qualsiasi regola nella scheda Analisi codice della pagina delle proprietà Proprietà progetto . Nella stessa scheda è possibile specificare l'analisi del codice da eseguire automaticamente ogni volta che viene compilato un progetto o se gli avvisi vengono considerati come errori.

Per usare manualmente Analisi codice, fare clic con il pulsante destro del mouse sul progetto in Esplora soluzioni e selezionare Esegui analisi codice. Gli avvisi di analisi del codice sono elencati nella finestra Elenco errori . È possibile fare doppio clic su un avviso per passare al codice sorgente che contiene il problema ed è possibile visualizzare informazioni aggiuntive e possibili correzioni per un avviso usando il menu contestuale Mostra guida errori .

Per altre informazioni sull'analisi del codice, vedere Analisi del codice del database per migliorare la qualità del codice.