天天看点

DROP,DELETE,TRUNCATE区别

1.DROP删除整个表;

   DELETE删除表中数据和可以删除视图(view);

   TRUNCATE只删除表数据。

2.TRUNCATE表后,表和索引占用的空间会恢复到初始大小;

DELETE操作不会减少表或索引占用的空间;

DROP语句将表占用的空间全部释放掉。

3.DELETE为DML操作,有数据库事物控制,可回滚;事物提交后delete操作生效;DROP和TRUNCATE为DDL操作,无事物控制,操作立即生效

4.TRUNCATE表数据比DELETE表数据效率高,  TRUNCATE 一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存;执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作

5.效率一般来说:drop> truncate > delete