1 sql-server deadlock query update
在发生死锁异常时重试 SQL 查询是否总是安全的?这会导致意外行为或执行操作两次吗?我认为死锁异常总是意味着回滚,即使查询不在显式定义的事务中运行。
是的。
但要明白,死锁是一个代价高昂的问题。每个死锁都涉及回滚。通过 TRY/CATCH 进行简单重试是处理死锁的非常标准的机制。但是,它会引入陷入循环的问题,因此请谨慎操作。
以下是其工作原理的示例。特别看看循环计数器的例子。通过限制重试次数,您可以远离危险区域。
| 归档时间: |
|
| 查看次数: |
3200 次 |
| 最近记录: |