Visualizzazione di piani di esecuzione tramite le opzioni SET SHOWPLAN (Transact-SQL)
Le opzioni dell'istruzione SET di Transact-SQL per la visualizzazione delle informazioni relative ai piani di esecuzione generano output in formato XML e testo. Tali opzioni verranno elencate e descritte in questo argomento.
Opzioni SHOWPLAN dell'istruzione SET
In Transact-SQL sono disponibili le opzioni relative all'istruzione SET indicate di seguito, che consentono di visualizzare un piano di esecuzione delle query:
[!NOTA]
Le opzioni SHOWPLAN_XML, SHOWPLAN_ALL e SHOWPLAN_TEXT SET generano un set di righe per ogni batch. Le opzioni STATISTICS XML e STATISTICS PROFILE SET generano un set di righe per ogni query di un batch.
SET SHOWPLAN_XML ON
Questa istruzione impedisce l'esecuzione di istruzioni Transact-SQL da parte di SQL Server. Microsoft SQL Server restituisce invece le informazioni sul piano di esecuzione relative alle modalità di esecuzione delle istruzioni in un documento in formato XML corretto. Per ulteriori informazioni, vedere SET SHOWPLAN_XML (Transact-SQL).
SET SHOWPLAN_TEXT ON
Dopo l'esecuzione dell'istruzione SET, SQL Server restituisce le informazioni sul piano di esecuzione per ogni query in formato testo. Le istruzioni e i batch Transact-SQL non vengono eseguiti. Per ulteriori informazioni, vedere SET SHOWPLAN_TEXT (Transact-SQL).
SET SHOWPLAN_ALL ON
Questa istruzione è simile a SET SHOWPLAN_TEXT, con l'eccezione che l'output è in un formato più dettagliato rispetto a quello dell'opzione SHOWPLAN_TEXT. Per ulteriori informazioni, vedere SET SHOWPLAN_ALL (Transact-SQL).
SET STATISTICS XML ON
Restituisce informazioni dopo l'esecuzione di ogni istruzione, oltre al normale set di risultati restituiti dall'istruzione. L'output è rappresentato da un insieme di documenti in formato XML corretto. SET STATISTICS XML ON genera come output un documento XML per ogni istruzione eseguita. La differenza tra SET SHOWPLAN_XML ON e SET STATISTICS XML ON consiste nel fatto che la seconda opzione SET esegue l'istruzione o il batch Transact-SQL. Nell'output di SET STATISTICS XML ON sono incluse anche informazioni sul numero effettivo di righe elaborate da diversi operatori e il numero effettivo delle esecuzioni degli operatori. Per ulteriori informazioni, vedere SET STATISTICS XML (Transact-SQL).
SET STATISTICS PROFILE ON
Restituisce informazioni dopo l'esecuzione di ogni istruzione, oltre al normale set di risultati restituiti dall'istruzione. L'output di entrambe le opzioni è in formato testo. La differenza tra SET SHOWPLAN_ALL ON e SET STATISTICS PROFILE ON consiste nel fatto che la seconda opzione SET esegue l'istruzione o il batch Transact-SQL. Nell'output di SET STATISTICS PROFILE ON sono incluse anche informazioni sul numero effettivo di righe elaborato da diversi operatori e il numero effettivo delle esecuzioni degli operatori. Per ulteriori informazioni, vedere SET STATISTICS PROFILE (Transact-SQL).
SET STATISTICS IO ON
Visualizza le informazioni relative alla quantità di attività del disco generata dalle istruzioni Transact-SQL dopo l'esecuzione delle istruzioni stesse. Questa opzione SET genera output in formato testo. Per ulteriori informazioni, vedere SET STATISTICS IO (Transact-SQL).
SET STATISTICS TIME ON
Visualizza il numero di millisecondi necessari per l'analisi, la compilazione e l'esecuzione di ogni istruzione Transact-SQL in seguito all'esecuzione delle istruzioni. Questa opzione SET genera output in formato testo. Per ulteriori informazioni, vedere SET STATISTICS TIME (Transact-SQL).
Considerazioni sull'utilizzo delle opzioni SHOWPLAN relative all'istruzione SET
Quando si visualizza un piano di esecuzione tramite le opzioni SET SHOWPLAN, le istruzioni inviate al server non vengono eseguite. SQL Server analizza invece la query e visualizza, in una serie di operatori, come sarebbero state eseguite le istruzioni.
[!NOTA]
Poiché durante la visualizzazione di un piano di esecuzione le istruzioni non vengono eseguite, le operazioni di Transact-SQL non vengono realmente effettuate. Pertanto, se un'istruzione CREATE TABLE, ad esempio, è inclusa in un piano di esecuzione, qualsiasi operazione successiva che comporti la tabella "creata" restituirà errori, in quanto la tabella in realtà non esiste. Vi sono tuttavia due eccezioni a questa regola: le tabelle temporanee vengono create quando si utilizzano le opzioni SHOWPLAN SET e quando vengono eseguite le istruzioni USE db_name che tentano di modificare il contesto del database sul database db_name specificato dalle opzioni SHOWPLAN SET utilizzate.
Quando si visualizza un piano di esecuzione tramite le opzioni SET STATISTICS, le istruzioni Transact-SQL inviate al server vengono eseguite.
[!NOTA]
Le opzioni SET SHOWPLAN non visualizzano alcuna informazione su stored procedure o trigger crittografati.
Opzioni SET di cui è prevista l'eliminazione nelle future versioni di Showplan
Le opzioni SET SHOWPLAN seguenti verranno rimosse a partire da una delle prossime versioni di SQL Server. È pertanto consigliabile passare alle modalità più recenti non appena possibile. Nella tabella seguente sono elencate le opzioni SET SHOWPLAN di cui è prevista la sostituzione e le nuove opzioni SET che è consigliabile iniziare a utilizzare.
Opzione SET obsoleta |
Nuova opzione SET da utilizzare |
---|---|
SET SHOWPLAN_TEXT |
SET SHOWPLAN_XML |
SET SHOWPLAN_ALL |
SET SHOWPLAN_XML |
SET STATISTICS PROFILE |
SET STATISTICS XML |