Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

La query viene eseguita velocemente in Query Analyzer ma lenta nell'applicazione C#

Di solito si tratta di differenze di impostazione SET, che portano a piani diversi. In Management Studio la procedura è probabilmente in esecuzione con lo stesso impostazioni come erano al momento della creazione.

Dai un'occhiata a sys.dm_exec_sessions per la tua applicazione ASP.Net e per la tua sessione SSMS. Azzarderò a indovinare che almeno uno dei tuoi SET le impostazioni sono diverse. Questo può contribuire a piani diversi (alla fine questo viene attribuito allo sniffing dei parametri) e il lato app di solito finisce peggio.

Vedi queste altre domande per molti più dettagli:

E leggi anche l'articolo di Erland Sommarskog, Lento nell'applicazione, veloce negli SSMS?