TRUNCATE和DELETE的几点区别spa
一、TRUNCATE在各类表上不管是大的仍是小的都很是快。若是有ROLLBACK命令DELETE将被撤销,而TRUNCATE则不会被撤销。
二、TRUNCATE是一个DDL语言,向其余全部的DDL语言同样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
三、TRUNCATE将从新设置高水平线和全部的索引。在对整个表和索引进行彻底浏览时,通过TRUNCATE操做后的表比DELETE操做后的表要快得多。
四、TRUNCATE不能触发任何DELETE触发器。
五、不能授予任何人清空他人的表的权限。 .net
六、当表被清空后表和表的索引讲从新设置成初始大小,而delete则不能。
七、不能清空父表。 blog