アプリケーションを構築していて、データベースへの1回のラウンドトリップに複数のクエリをバッチ処理したいと考えています。たとえば、1つのページにユーザーのリスト、グループのリスト、および権限のリストを表示する必要があるとします。
だから私はprocs(または "select * from Users"のような単純なSQLコマンド)を保存しました、そしてそれらのうちの3つを実行したいと思います。ただし、この1ページにデータを入力するには、3回往復する必要があります。
これで、単一のストアドプロシージャ( "getUsersTeamsAndPermissions")を作成するか、単一のSQLコマンド "select * from Users; exec getTeams; select *fromPermissions"を実行できます。
しかし、1回の往復で3つの操作を実行するように指定するより良い方法があるかどうか疑問に思いました。利点には、単体テストが容易になることや、データベースエンジンがクエリを並列化できることが含まれます。
C#3.5とSQLServer2008を使用しています。