相同点:都可以删除一个表的数据
不同点:
(1)delete执行的过程是每次从表中删除一行数据,同时将删除的操作以日志的形式进行保存,以便将来进行回滚操作。
truncate是一个数据定义语义,会被隐式提交,一旦执行后将不能回滚。
(2)用delete操作后,被删除的数据占用的内存空间还在,还可以恢复。
用truncate操作删除数据后,被删除的数据会立即释放占用的存储空间 ,被删除的树是不可以恢复的。
(3)truncate的执行速度比delete快
相同点:都可以删除一个表的数据
不同点:
(1)delete执行的过程是每次从表中删除一行数据,同时将删除的操作以日志的形式进行保存,以便将来进行回滚操作。
truncate是一个数据定义语义,会被隐式提交,一旦执行后将不能回滚。
(2)用delete操作后,被删除的数据占用的内存空间还在,还可以恢复。
用truncate操作删除数据后,被删除的数据会立即释放占用的存储空间 ,被删除的树是不可以恢复的。
(3)truncate的执行速度比delete快