SQL: Truncate vs Delete

来源:互联网 发布:js newarray 编辑:程序博客网 时间:2024/05/17 09:38
  • Truncate: 是一种DDL操作,不会记录日志,不可回滚,而且不会触发trigger,性能要快些;

但是需要小心使用;

 

  • Delete: 是一种DML操作,可以回滚,而且出发tirigger,性能要慢些;

 

  • Note

 

1. Truncate 不能用于表变量;

 

declare @TempTable table(ID INT)

truncate table @TempTable

--parse error

2. 可以用于临时表

create table  #Temp (ID int)

truncate table #Temp

--prase right