请教update语句用的是哪一种锁
请问update语句用的是哪一种锁?update 表 set 列aa where 列bb系统自动用的是哪一种锁级别?不过需要
请问update语句用的是哪一种锁?
update 表 set 列='aa' where 列='bb'
系统自动用的是哪一种锁级别?
不过需要说明这个DMV的实时性很强,你也可以开Profiler来监控
这是同样语句监控的结果:
------解决方案--------------------
做了一个实验:
[解决办法]也就是说他是一个层级化的锁定,
database的S锁,
表的IX锁,
页的IX锁,这个页是,你要修改的哪些行数据,所在的页,就比如,你要修改一行数据,而这行数据在word文档的第113页,那么这一页,也必须要加上IX锁,也就是意向独占锁。
最后是行锁,表示了是第113页的第1行数据,在页中是从第0行数据开始的,所以这里的第1行数据是表中的第2行数据,也就是v = 'bb'的那行数据
[解决办法]上面实验中的tb表是没有主键,也没建立聚集索引。
那么下面的例子中,是有主键和聚集索引的,结果就会稍微有点不同:
1、