Exécuter plusieurs commandes SQL dans un voyage aller-retour

Je suis la construction d'une application et je veux par lots de plusieurs requêtes dans un seul voyage aller-retour à la base de données. Par exemple, disons une page unique a besoin d'afficher une liste d'utilisateurs, une liste de groupes et une liste d'autorisations.

J'ai donc stocké procs (ou de simples commandes sql comme "select * from Users"), et je veux exécuter trois d'entre eux. Toutefois, pour remplir une page que je dois faire 3 allers-retours.

Maintenant, je pourrais écrire une procédure stockée ("getUsersTeamsAndPermissions") ou d'exécuter une seule commande SQL "select * from Users;exec getTeams;select * from Autorisations".

Mais je me demandais si il y avait une meilleure façon de spécifier de faire 3 opérations en un seul voyage aller-retour. Les prestations comprennent le plus facile de l'unité d'essai, et en permettant au moteur de base de données parrallelize les requêtes.

Je suis à l'aide de C# 3.5 et SQL Server 2008.

  • Si c'est ASP.Net et le serveur de base de données est juste à côté de du Serveur Web(ou c'est une seule application), alors c'est probablement une optimisation prématurée..
  • une optimisation prématurée ou d'un correctif pour un autre problème de conception.
  • Chaque fois que je viens lire cette question, je me suis amusée à combien de personnes lisent mon exemple simple que j'ai faite à cette question et à supposer qu'ils connaissent les caractéristiques de performance de mon application mieux que moi.
  • Merci de lire ma réponse ici: stackoverflow.com/a/49687720/538387
InformationsquelleAutor tster | 2010-02-25