我在我们的代码库中的sql存储proc中遇到了一段代码,它使用的是没有事务块的分块。我不知道没有tran块块会有多大好处?当我在没有挖掘更多信息的情况下草草下结论的时候,我已经谦卑了几次,那么没有tran块的分块有什么好处呢?有吗?
伪码类似于:
发布于 2015-07-15 12:06:22
无论事务旁边是否有BEGIN TRAN
,Server中的每个更新查询都在事务中运行。(自动提交事务
当数据库处于简单恢复模式时,通常使用“中华”来阻止需要增大大小的事务日志。影响100万行的单个UPDATE
语句需要将所有这些记录到活动日志中。将日志划分为批处理可以使早期提交的批处理中的日志被截断,并被以后的批处理重用。
还可以通过减少每次操作的时间长度和/或通过一次只更新几千行来降低锁升级的风险来减少对并发查询的影响。
https://stackoverflow.com/questions/31439369
复制相似问题