TRUNCATE 是一个能够快速清空资料表内所有资料的SQL语法。并且能针对具有自动递增值的字段,做计数重置归零重新计算的作用。【清空数据,重建索引】
TRUNCATE 和 DELETE 的区别:
1、TRUNCATE 非常快且不会占用缓存资源。
DELETE 可被ROLLBACK命令撤销(DELETE是DML语言), 而TRUNCATE不会被撤销(TRUNCATE是DDL语言, 他将被隐式提交, 不能对TRUNCATE使用ROLLBACK命令。)
2、TRUNCATE 将重新设置高水平线和所有的索引。经过 TRUNCATE 操作后的表比 DELETE 操作后的表要快得多。
3、DELETE 会触发与表相关的触发器, TRUNCATE 不能触发任何 DELETE 触发器。
4、当表被清空后表和表的索引讲重新设置成初始大小, 而 DELETE 则不能。
5、DELETE 可以有删除条件, TRUNCATE 没有。