天天看點

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