使用DELETE与TRUNCATE删除表所有行的区别

DELETE FROM tablename
TRUNCATE TABLE tablename
都可以实现删除表中所有记录--
以前都知道这个命令,但是不知道他们工作模式以及性能,今天在看书看见了贴出来和大家分享一下。


DELETE语句执行删除的过程是每次从表中删除一行,并且同时将该行的的删除操作作为事务记录在日志中保存以便进行进行回滚操作。
TRUNCATE  TABLE 则一次性地从表中删除所有的数据页并不把单独的删除操作记录记入日志保存, 删除行是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执行速度快。

你可能感兴趣的:(truncate)