感觉这篇文章写的不错,读了三遍不是太明白,记录下来:
https://www.cnblogs.com/happyhippy/archive/2008/11/14/1333922.html
解决办法:
- SQLServer自动选择一条SQL作死锁的牺牲品;
- 按同一顺序访问对象;
- SELECT语句加with (onlock)提示;
- 使用较低的隔离级别
- 在SQL前加SET LOCK_TIMEOUT timeout_period,当请求锁超过设定的timeout_period时间后,就会终止当前SQL的执行
- 使用基于行版本控制的隔离级别
- 使用绑定连接