SQL Server 锁引起的阻塞问题分析

  • 时间:
  • 浏览:0
  • 来源:彩神11选5_神彩11选5官方

2、模拟阻塞:

事务提交后,才会将事务中持有的锁释放掉,本来对于事务来说,不应该在另一个事务所含较多的操作可能性较大的操作。

开启B事务,可能性A事务这么 提交,X锁与S锁互斥,本来B事务这么 执行,守候A事务释放X锁

blockTest   PK_blockTest

3、获取阻塞信息及阻塞分析

对于较多操作来说,比如在另一个事务所含多个update累似 的操作,建议拆分成多个小事务;



4、外理最好的办法:

1、创建测试表和测试数据

获取持有锁的资源:

开启A事务,update后这么 提交事务,此时该事务仍然持有X锁

阻塞信息截图及分析【返回结果集所含字段较多,分三段截取】:

对于较大操作来说,比如update 100万行数据,建议改成多次大量循环操作,并非用另一个update来实现,原本还必须大大减少事务持有锁的时间。

说明在blockTest一点对象上对PK_blockTest一点索引【也本来 主键id上】加了X锁