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

SP prenant 15 minutes, mais la même requête lorsqu'elle est exécutée renvoie des résultats en 1-2 minutes

C'est l'empreinte du reniflage de paramètres. Voir ici pour une autre discussion à ce sujet; Mauvaise performance du plan d'exécution des procédures stockées SQL - reniflage des paramètres

Il existe plusieurs correctifs possibles, notamment l'ajout de WITH RECOMPILE à votre procédure stockée qui fonctionne environ la moitié du temps.

Le correctif recommandé pour la plupart des situations (bien que cela dépende de la structure de votre requête et de votre sproc) est de PAS utilisez vos paramètres directement dans vos requêtes, mais stockez-les plutôt dans des variables locales, puis utilisez ces variables dans vos requêtes.