Impact sur les performances dû à la taille Sp dans Sql Server

Salut, ça peut paraître idiot, mais comme je suis tombé sur deux situations, je dois poser la question ici

J'ai eu un sp qui a 6 blocs IF différents, seulement un seul bloc sera exécuté chaque fois que sp appelé à partir de la page

il y a quatre tables communes qui ont été utilisées dans tous les six blocs IF le changement était seulement la condition where dans chaque bloc

Donc, ce que j'avais fait est créé une table temporaire au début du sp, inséré les colonnes nécessaires de toutes les quatre tables à la table Temp et utilisé cette table dans tous les six blocs IF avec différentes conditions où

Maintenant, quand j'ai exécuté le sp il m'a montré une amélioration de la performance par rapport à plus tôt

La seule chose que j'avais faite est de réduire la taille de sp en éliminant le même code et en utilisant une table temporaire

Maintenant, ma question est sur les six blocs, un seul sera exécuté à chaque fois que le sp est appelé alors quelle différence fait-il pour réduire la taille de sp

Vous posez une question assez ouverte, donc je vais fournir une réponse assez ouverte jusqu'à ce que vous postz les deux versions des procédures stockées comme je l'ai demandé dans les commentaires. Voici:

Habituellement, la taille d'une procédure stockée n'est pas fortement liée à sa durée d'exécution. Je pourrais vous écrire une procédure stockée très courte qui prend une éternité à s'exécuter et je pourrais vous écrire une procédure stockée très longue qui s'exécute en un rien de time.

Ce qui importe le plus en termes de time d'exécution est la quantité de données sur lesquelles vous travaillez et si cette quantité de données peut être travaillée efficacement (en utilisant un index, en réduisant la quantité de données en premier lieu, etc.).

Donc, je suppose que pendant que vous avez optimisé votre procédure stockée "en éliminant le même code", vous avez également fait accéder le SP aux données de manière plus efficace.