mercoledì 20 luglio 2011

MVP Erland esplora concetti di SQL Server Performance

Inviato da Roopesh Shenoy

In un recente articolo, lento nella domanda, Fast in SSMS? , SQL Server MVP, Erland Sommarskog , esplora le varie cose che colpiscono del piano di query, la compilazione di SQL dinamico e altre cose che alla fine influenzare la performance del database SQL Server. Ricopre diversi concetti e scenari come lo sniffing dei parametri, la cache piano di query, blocco, impostazioni salvate, problemi con i server collegati e altro ancora.

Alcune citazioni interessanti, da questo articolo -

I valori dei parametri della prima esecuzione della procedura hanno un impatto enorme per le esecuzioni successive.Se questa prima serie di valori per qualche ragione è atipico, il piano di cache non può essere ottimale per esecuzioni future. È per questo che lo sniffing dei parametri è un grande affare.

Di tanto in tanto, vedo la gente nei forum o nei newsgroup che mi dicono che il loro stored procedure è lenta, ma quando si esegue la query stessa di fuori della procedura è fast.To risolvere la query da solo, che hanno sostituito le variabili con costanti. Ma, come abbiamo visto, la risultante stand-alone query è molto diverso, e SQL Server possono fare stime più accurate con costanti invece di variabili, e quindi arrivare ad un piano migliore.

(Per i server collegati) ciò che conta è i permessi sul server remoto, non il server locale in cui viene eseguita la query.Inoltre, il problema è specifico quando il server collegato è un altro SQL Server esempio, e lo stesso problema potrebbe non apparire quando il server è collegato Oracle, MySQL o Access.

L'articolo spiega anche i diversi modi per individuare i colli di bottiglia e problemi potenziali e le query SQL correlati -

  • Ottenere dei piani di query e parametri all'interno di Management Studio
  • Ottenerli direttamente dalla cache delle query
  • Far loro da una traccia
  • Ottenere definizioni di tabelle e indici
  • Individuazione delle informazioni statistiche

Erland elenca anche i vari modi per risolvere il parametro-sniffing questioni come forzare la ricompilazione, rivedere l'indicizzazione, utilizzando OPTIMIZE FOR e, infine, solo fissaggio Bad SQL, che possono essere applicate in diversi scenari.

Infine, l'articolo tratta SQL dinamico e come simili principi influenzano le prestazioni di query SQL dinamico. Questo è un articolo sicuramente la pena di leggere per chi lavora con SQL Server, gli sviluppatori ei DBA simili.

Corso Visual Studio - Corsi Visual Studio
Corso .Net- Corso Dot.Net - Corso Vb.net
Corso C# - Corso PHP - Corso Joomla

Nessun commento:

Posta un commento