Oracle數據庫中truncate命令和delete命令的區別 |
發布時間: 2012/9/6 17:00:01 |
數據頁并不把單獨的刪除操作記錄記入日志保存,刪除行是不能恢復的。并且在刪除的過程中不會激活與表有關的刪除觸發器。執行速度快。 TRUNCATE TABLE 在功能上與不帶 WHERE 子句的 DELETE 語句相同:二者均刪除表中的全部行。但 TRUNCATE TABLE 比 DELETE 速度快,且使用的系統和事務日志資源少。 以上只是介紹一下兩個命令的用法,下面說一下我的推薦用法,truncate命令速度快,占用資源少,如果你能確定當前表里的數據完全沒有用的話可以使用此命令,方面快捷,如果數據或許有用,那你最好做好備份,否則一旦使用此命令,就悔不當初了,當然delete命令還是有好處的,如果不能保證此后的數據有不有用,但是當前不知道,或者干脆就是誤刪了,那么使用rollback命令直接回滾,當然rollback命令可以添加回滾點,定位回滾,恢復數據比較方便,所以說對與初學者,樓主強烈建議大家刪除數據時使用delete命令,麻煩事麻煩了點,但是保險一點,這是我的教訓啊,誤用truncate命令清空了一個表,還好這個表是無關緊要的,否則我就只有以謝天下了。當然,非常強烈的建議是,做任何操作前,對于有用的數據都要事先備份,不管用不用得著,有備無患。
本文出自:億恩科技【www.sunshares.net】 |