Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

La requête s'exécute rapidement dans l'Analyseur de requêtes, mais lentement dans l'application C#

Il s'agit généralement de différences de réglage SET, conduisant à des plans différents. Dans Management Studio, la procédure est probablement en cours d'exécution avec le même paramètres tels qu'ils étaient en place lors de sa création.

Jetez un œil à sys.dm_exec_sessions pour votre application ASP.Net et pour votre session SSMS. Je risquerai de deviner qu'au moins un de vos SET les paramètres sont différents. Cela peut contribuer à différents plans (en fin de compte, cela est attribué au reniflage des paramètres) et le côté application finit généralement par être moins bien loti.

Consultez ces autres questions pour plus de détails :

Et lisez aussi l'article d'Erland Sommarskog, Lent dans l'application, rapide dans SSMS ?