delete from 表名 where …
删除全表:可以回退
delete from mytab;
删除全表:不可以回退
truncate table mytab;
SQL> delete from mytab1 where name ='ssb';
已删除 1 行。
二者执行时间
set timing on
对于少量数据:delete 效率高,一行一行删除
对于海量数据:truncate效率搞,1.drop table 丢弃整张表,b.重新创建表


本文详细对比了SQL中DELETE与TRUNCATE两种删除操作的特点及适用场景。DELETE适用于少量数据删除,支持事务回滚,逐行操作确保数据一致性;TRUNCATE则针对海量数据,效率更高,但不支持回滚,直接清空整个表。文章还提供了具体执行时间对比,帮助读者理解不同操作的性能差异。
delete from 表名 where …
删除全表:可以回退
delete from mytab;
删除全表:不可以回退
truncate table mytab;
SQL> delete from mytab1 where name ='ssb';
已删除 1 行。
二者执行时间
set timing on
对于少量数据:delete 效率高,一行一行删除
对于海量数据:truncate效率搞,1.drop table 丢弃整张表,b.重新创建表



被折叠的 条评论
为什么被折叠?