假设以下代码:
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 时会发生什么。大概没有复杂的握手,因为我们已经有一个活动的连接。
有什么强有力的理由让我更喜欢场景 1 而不是场景 2?
(对于上下文,我的问题实际上是我是否可以在 C# 中实现一些我更愿意执行的业务规则,或者(性能很重要)我是否应该尝试在单个 SQL 命令中执行所有内容。)