delete和truncate的一个严重区别

--创建测试表

CREATE  TABLE test1(id int)

delete

会话一

BEGIN TRAN

delete test1
INSERT test1
SELECT 1

会话二

INSERT test1
SELECT 1

一先,二后,二瞬间完成,没有发生阻塞

---------------------------------------------------------------------

sp_lock

 

------------------------------------------------------------------------------------------------

truncate

会话一

BEGIN TRAN

truncate  table test1
INSERT test1
SELECT 1

会话二

INSERT test1
SELECT 1

一先,二后,二发生阻塞,一没有提交,也没有回滚,二一直等待

---------------------------------------------------------------------

sp_lock

原文地址:https://www.cnblogs.com/qanholas/p/2542891.html