Identifying query compile/runtime parameter values using XML SHOWPLAN output

Peter Scharlock rientrato dalla Convergence Conference 2010 ha chiarito, con un interessante articolo su SQLCAT blog, l’utilizzo di XML SHOWPLAN.

Questa caratteristica, che SQL Server mette a disposizione, non viene spesso utilizzata, ma sarebbe di grande aiuto per identificare e risolvere i problemi legati a parameter sniffing, specialmente nelle applicazioni gestionali.

Fondamentalmente, la questione ruota attorno al fatto che SQL Server memorizza nella cache i piani di esecuzione delle query, la prima volta che queste vengono compilate ed eseguite. Mantenere nella cache i piani di esecuzione migliora le performance perché SQL Server non sarà costretto a ricompilare la stessa query ogni volta che riceve una richiesta di esecuzione (della stessa). Questo significa anche che il piano di esecuzione viene creato e mantenuto tenendo conto dei valori dei parametri passati alla prima esecuzione della query.

Nella maggior parte dei casi questa tecnica produce dei benefici, ma in alcune situazioni potrebbero esserci problemi … come descrive Peter Scharlock: http://blogs.msdn.com/b/sqlcat/archive/2010/06/09/identifying-query-compile-runtime-parameter-values-using-xml-showplan-output.aspx

Published domenica 20 giugno 2010 16.14 by sgovoni

Comments

No Comments