simple select plus performant que procédure stockée
Bonjour,
Je surveille actuellement une instance SQL SERVER 2000 EE SP4 avec le profiler. Je remarque qu'une procédure stockée exécutée est assez gourmande en ressources (nb de reads > 100 000) !!!. Cette procédure reçoit un paramètre de type tinyint en entrée, pour pouvoir l'optimiser la requête qu'elle contient j'ai exécute la requête suivante :
Code:
1 2 3 4 5 6
|
DECLARE @input TINYINT
SET @INPUT = ...
SELECT (traitement prenant en compte @INPUT identique à celui de la procédure)
GO
exec procedure_gourmande @INPUT= ... |
Si je regarde les plans d'exécution j'observe que la requête avec le SELECT et l'exécution de la procédure stockée donne des plans d'exécutions différents
et si je regarde le profiler :
SELECT => Nb read = 10 000
Procédure stockée => NB read > 100 000
Pouvez-vous m'aider ? Je ne comprends pas pourquoi la procédure stockée et le SELECT on des plans d'exécution différents et pourquoi le SELECT est beaucoup moins gourmand (en term de read).
Merci d'avance.
Cdlt.