我注意到代码中有一些大型更新是在循环中使用过程化代码完成的,因此每个语句仅在单个事务中更新表的一小部分。这种在SQL Server中进行更新的方法是否可靠?并发会话的锁定不应该成为问题,因为在批量加载期间禁用了用户对表的访问。我查阅了一些资料,在其中找到了一些文章建议这样做可以节省资源,并且每次更新提交后都会释放资源,从而提高效率。在Oracle中,这通常是一种不好的方法,我在Oracle中使用单个事务成功地进行了非常大的更新。在Oracle中频繁提交会减慢进程并使用更多资源。
我的问题是,在SQL Server中进行大规模更新,通常是使用过程化代码并提交许多SQL语句,还是使用一个大语句完成整个更新?