次のコードを想定します。
public void ExecuteSomeSql(string sql, SqlConnection sqlConnection)
{
etc etc
}
allSql
そして、 = sql1
+ sql2
+と仮定しsql3
ます。
パフォーマンスに違いはありますか?
シナリオ 1
ExecuteSomeSql(allSql, sqlConnection);
と
シナリオ 2
ExecuteSomeSql(sql1, sqlConnection);
ExecuteSomeSql(sql2, sqlConnection);
ExecuteSomeSql(sql3, sqlConnection);
SQL が同じ接続を介して複数回実行されたときに何が行われるかはよくわかりません。すでにアクティブな接続があるため、おそらく複雑なハンドシェイクはありません。
シナリオ 2 よりもシナリオ 1 を優先すべき強い理由はありますか?
(コンテキストとして、私の質問は、C# でいくつかのビジネス ルールを実装できるかどうか、または (パフォーマンスが重要であるために) 単一の SQL コマンドですべてを実行する必要があるかどうかを実際に推進しています。)