码迷,mamicode.com
首页 > 其他好文 > 详细

lock(3)——更新锁(U)与排它锁(X)

时间:2014-07-18 00:31:59      阅读:326      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   os   

以下文章中详细介绍了update操作过程中更新锁及排它锁的分配情况

http://blog.csdn.net/zjcxc/article/details/27351779

按照以上文章中的追踪方式,发现其实文章lock(2)——创建及更新表过程中SQL SERVER锁资源分配情况中我们通过sys.dm_tran_locks动态视图查询出来的结果都是最终加锁的情况,并没有体现其中锁变化的情况。如果要想详细的知道锁的变化情况,还是使用profile的方式。

我这里为了加深印象与理解,就再将邹大师的测试自己做一遍:

--该进程为64,先创建表并初始化5条数据,然后在事务中更新数据
CREATE TABLE dbo.tb(

     c1 int,

     c2 char(10),

     c3 varchar(10)

);

GO

DECLARE @id int;

SET @id = 0;

WHILE @id <5

BEGIN;

     SET @id = @id + 1;

     INSERT dbo.tb VALUES( @id, b + RIGHT(10000 + @id, 4), c + RIGHT(100000 + @id, 4) );

END;



BEGIN TRAN

UPDATE dbo.tb SET c2 = xx WHERE c1 = 2;

WAITFOR DELAY 00:00:30;

UPDATE dbo.tb SET c2 = xx WHERE c1 = 5;

--ROLLBACK;
--进程66,开启一个事务,并更新tb表中的一条记录
BEGIN TRAN

UPDATE dbo.tb SET c2 = xx WHERE c1 = 1;

ROLLBACK;

profile中的追踪情况如下:

lock(3)——更新锁(U)与排它锁(X),布布扣,bubuko.com

lock(3)——更新锁(U)与排它锁(X)

标签:style   blog   http   color   使用   os   

原文地址:http://www.cnblogs.com/shihuai355/p/3851427.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!