2011-09-19 28 views

risposta

12

Hai guardato SQL Sentry Plan Explorer? Questo è uno strumento gratuito al 100% che può essere integrato con Management Studio e fornisce molta più chiarezza nell'analisi dei piani. Un esempio molto rapido mostra come è possibile concentrarsi rapidamente sul nodo più costoso (s) in qualsiasi progetto grafico:

enter image description here

download:

http://sqlsentry.net/plan-explorer/sql-server-query-view.asp

Un recente post sul blog che ho scritto, a grande richiesta, per aiutare gli altri a illustrare quanto possono essere più semplici piani di esecuzione con Plan Explorer:

http://sqlblog.com/blogs/aaron_bertrand/archive/2011/09/13/a-demo-kit-for-sql-sentry-plan-explorer.aspx

Per la tua domanda attuale, non nasconde alcuna operazione a costo zero o zero dal piano, ma evidenzia i nodi più costosi in rosso, arancione e giallo; evidenziamo anche le ricerche e le scansioni e puoi anche visualizzare il costo come% di CPU + I/O, CPU sola o I/O da solo (in SSMS puoi solo utilizzare la combinazione). Molti dei problemi di prestazioni che stai cercando sono frontali e centrali o su una delle schede dettagliate, piuttosto che nascosti nei pannelli Proprietà, suggerimenti stravaganti o non presentati affatto. Oltre ai miglioramenti apportati al piano grafico, è possibile concentrarsi anche su affermazioni specifiche che si verificano in un ciclo (con molte istruzioni correlate ma a costo inferiore) ordinando il nodo Albero di istruzioni. Le differenze tra le righe stimate e quelle effettive (per i piani effettivi) possono evidenziare potenziali problemi statistici; le colonne richieste da una ricerca chiave possono identificare rapidamente le colonne indice mancanti (o una query SELECT * che non dovrebbe essere); e i parametri runtime e compilati possono segnalare problemi di snifing dei parametri in cui è possibile utilizzare RECOMPILE, OPTIMIZE FOR o attivare "Ottimizza per carichi di lavoro ad hoc". Infine, a differenza di Management Studio, puoi facilmente generare metriche di runtime (durata, CPU, letture, ecc.) Generando un piano reale all'interno dello strumento - con strumenti nativi che devi modificare le opzioni SET o usare profiler per ottenere questi parametri - e anche con quelli devi scontare il lavoro necessario per ottenere i risultati al cliente (Plan Explorer esegue la query sul server ma scarta i risultati).

+0

+1 per la raccomandazione dello strumento. – Icarus

1

Ho appena scaricato l'ultima versione di SSMS Tools Pack Addin oggi e noto che ora ha alcune nuove funzionalità che possono anche aiutare in questo senso. È possibile configurare una percentuale e una metrica (ad esempio, costo totale stimato o costo di I/O stimato) e gli operatori che superano questa soglia sono elencati a sinistra del piano in ordine di costo e possono essere cliccati per navigare nello specifico operatore.

Screenshot

vedere le schermate Execution Plan Analyser per una migliore idea.

Problemi correlati