t - sql中删除命令(下降,截断和删除)

  

1,把命令:
语法:

  
 <代码>删除表数据表——删除整张表(包括表结构定义),速度最快,最彻底,没有保存具体日志(删除内容和定义,释放空间。就是把整个表去掉),基本上无法恢复 
  

2,截断命令:
语法:

  
 <代码>截断表数据表——删除整张表内容(只删除数据,保留表结构),没有保存具体删除日志,会截断数据并释放空间 
  

3,删除命令:
语法:

  
 <代码>删除表数据表在条件——删除内容不删除定义,不释放空间。会记录每条删除操作的日志,删除方式为一条一条删除,会记录每个删除操作的日志。 
  

总结:
滴命令:删除速度快,不保留表结构,只能整张表删除。
截断命令:删除速度快,保留表结构,只能删除整张表的全部数据,使用的系统和事务日志资源少。
删除命令:删除速度慢,每次删除一行,可删除部分数据,并在事务日志中为所删除的每行记录一项,可以对删除操作进行回滚,使用较频繁。

  

1,截断在各种表上无论是大的还是小的都非常快。如果有回滚命令删除将被撤销,而截断则不会被撤销。
2,截断是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对截断使用滚命令。
3,截断将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过截断操作后的表比删除操作后的表要快得多。
4,截断不能触发任何删除触发器。
5,当表被清空后表和表的索引讲重新设置成初始大小,而删除则不能。
6,不能清空父表

t - sql中删除命令(下降,截断和删除)