SQL允许脏读WITH(NOLOCK)

使用WIHT(NOLOCK)有利也有弊,所以在决定使用之前,你一定需要了解清楚WITH(NOLOCK)的功能和缺陷,看其是否适合你的业务需求,不要觉得它能提升性能,稀里糊涂的就使用它。

--事务未提交回滚
BEGIN TRAN
UPDATE dbo.student SET ca='6666' WHERE no=0
    --COMMIT
    --ROLLBACK

--同一个查询框,不会死锁
SELECT * FROM dbo.student AS S
--新开窗口查询会死锁
SELECT * FROM student 

---查询哪个表锁了
SELECT
request_session_id spid,
OBJECT_NAME(
resource_associated_entity_id
) tableName
FROM
sys.dm_tran_locks
WHERE
resource_type = 'OBJECT' 
ORDER BY request_session_id ASC
--锁详细信息
sp_lock 57
--锁详细信息
sp_lock 72

--新的窗口,使用WITH(NOLOCK)就不会死锁,但会把可能回滚的数据查询出来
SELECT * FROM student WITH(NOLOCK)

 

转载于:https://www.cnblogs.com/lgxlsm/p/10684080.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值