SQL Server enregistre des "plans" d'exécution de code.
Si une procédure stockée est exécutée sur un petit sous-ensemble de données, elle sera optimisée pour un petit ensemble de données. L'inverse est vrai pour un grand ensemble de données.
Il y a un joli OPTIMIZE FOR
fonctionnalité en 2008 mais en 2005 vous êtes bloqué avec WITH RECOMPILE
. Cela signifie qu'il sera recompilé à chaque exécution, ce qui, dans certains cas, est le plus optimal !