1,刪除是DML。執行刪除操作時,壹次從表中刪除壹行,同時,該行的刪除操作被記錄在重做和撤消表空間中,用於回滾和重做操作。但是需要註意的是,表空間足夠大,在手動提交操作之後才能生效,操作可以通過回滾來撤銷。
2.刪除可以根據條件刪除表中符合條件的數據。如果不指定where子句,表中的所有記錄都將被刪除。
3.delete語句不會影響表所占用的範圍,並且高水位線保持不變。
4.truncate是DDL,將隱式提交。因此,它不能回滾,也不會觸發觸發器。
5.truncate將刪除表中的所有記錄,並重置高水位線和所有索引。默認情況下,它會將空間釋放到minextent擴展區,除非使用重用存儲。不記錄日誌,所以執行速度很快,但是不能通過rollback撤銷操作(如果不小心截斷了壹個表,可以恢復,但是不能通過rollback恢復)。
6.對於foreignkey約束引用的表,不能使用truncate table,只能使用不帶where子句的delete語句。
7.truncatetable不能用於參與索引視圖的表。
擴展數據:
從速度上來說,壹般來說,截斷?& gt?刪除.?
如果想保留表,刪除所有數據,如果與事務無關,就用truncate。
如果它與壹個事務相關,或者如果您想要觸發壹個觸發器,您仍然使用delete。
參考資料:
截斷(電腦功能)-百度百科
刪除(編程語言)-百度百科