J'ai une procédure stockée dans ma base de données. Lorsque j'appelle cette procédure stockée, parfois cela prend 1 minute, parfois cela prend 10 minutes, et d'autres fois cela prend encore plus que cela pour terminer.La procédure stockée prend beaucoup de temps
L'étape ci-dessous seulement de prendre plus de temps dans le processus, pas sûr si cette pauvre requête et le besoin de réécrire la procédure stockée ou d'un autre problème de serveur
IF (EXISTS (SELECT 1
FROM table1 PWI (NOLOCK)
INNER JOIN table2 W (NOLOCK) ON PWI.ID = W.ID
WHERE W.Flag = 1
AND PWI.PatID IN (SELECT PatID FROM @table3)
AND W.SubID IN (SELECT SubID FROM @table4)))
S'il vous plaît aider à résoudre ce problème
plan d'exécution? –
Pour commencer, vous devriez vous débarrasser de ces indices NOLOCK. Ils ne sont pas une bonne idée 99,999% du temps. http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
La définition de table (y compris les index), le plan d'exécution, le nombre approximatif de lignes seraient très utiles ici. –