Truncate与delete的区别以及Truncate能否添加筛选条件

truncate和delete的区别

能否释放空间

  1. TRUNCATE:删除内容、不删除定义、可以释放空间。
  2. DELETE :删除内容、不删除定义、不能释放空间。

删除全部数据以及部分数据

  1. truncate table:只能删除表中全部数据。
  2. delete from table where……,可以删除表中全部数据,也可以删除部分数据。

删除记录是否记入日志

  1. delete from记录是一条条删的,所删除的每行记录都会进日志。
  2. 而truncate一次性删掉整个页,因此日志里面只记录页的释放。

执行速度

  1. truncate的执行速度比delete快。

能否回滚

  1. delete执行后,删除的数据占用的存储空间还在,还可以恢复数据,也因此delete删除后,delete可以回滚。
  2. truncate删除的数据占用的存储空间不在,不可以恢复数据。也因此truncate 删除后,不能回滚。

Truncate能否添加筛选条件

  1. 不能
  2. TRUNCATE 删除表,无法回退。默认选择为整个表的内容,所以不能加条件。
posted @ 2022-02-19 20:14  陳卿  阅读(1819)  评论(0)    收藏  举报