Dans un système que je développe, j'ai le choix d'utiliser une seule procédure stockée qui effectue trois tâches connexes et renvoie soit aucun résultat, soit le même jeu de résultats, mais provenant de deux tables différentes.SQL Server - Procédures individuelles et procédure unique
J'ai lu hier un article qui suggérait qu'une procédure stockée ne devrait avoir qu'un seul plan d'exécution et que toute procédure modifiant son plan d'exécution en fonction d'une différence de paramètres devrait probablement être écrite comme plusieurs procédures. L'écriture de la procédure sous trois procédures différentes changerait la façon dont le système qui exécute les procédures fonctionne mais pas de façon significative. Ce que je voudrais savoir, c'est si les performances obtenues en ayant des procédures qui n'ont pas de plans d'exécution différents en fonction des entrées par rapport à une seule procédure valent l'effort, c'est-à-dire la surcharge de la base de données trois fois plus grande que les frais généraux d'avoir à recompiler le plan de performance en fonction des circonstances?
Merci
Greg
Pour des points supplémentaires, quel est le nom de ce modèle? –
haha, je suis nul avec souvenir de ces noms. Je comprends les modèles d'usine et les principes SOLID mais si le concept reste avec moi, le nom doit normalement être rappelé par une recherche google –
dans le but d'un bon débordement propre pile, vous devriez probablement modifier votre propre réponse pour révéler ce motif insaisissable nom –