本文转自:https://blog.csdn.net/helloxiaozhe/article/details/82729554 相同点 TRUNCATE TABLE和DELETE都可以删除整个数据库表的记录 不同点 DELETEDML语言可以回退可以有条件的删除DELETE FROM 表名 WHERE 条件TRUNCATE TABLEDDL语言无法回退默认所有的表内容都删除删除速度比delete快TRUNCATE TABLE 表名DROP TABLE用于删除表(表的结构、属性以及索引也会被删除);DROP TABLE 表名 原理 DDL(Data Definition Language)数据定义语言,DML(Data Manipulation Language)数据操作语言。 TRUNCATE在各种表上无论是大的还是小的都非常快。如果有ROLLBACK命令Delete将被撤销,而TRUNCATE则不会被撤销。TRUNCATE是一个DDL语言,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。TRUNCATE将重新设置高水平线和所有的索引。在对整个表和索引进行完全浏览时,经过TRUNCATE操作后的表比Delete操作后的表要快得多。TRUNCATE不能触发任何Delete触发器。当表被清空后表和表的索引讲重新设置成初始大小,而delete则不能。不能清空父表。 优化 在数据库里,使用delete删除数据以后,数据库的存储容量不会减少,而且使用d......Read More