本文主要是介绍oracle清空表的delete from和truncate table的優劣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.使用delete from
優點:
1.保留記錄,delete from不會立即刪除數據而是保留記錄
2.允許回滾,delete from的數據不會立即刪除數據,且會記錄到binlog裡面,後期可以回滾數據
3.可以選擇性的刪除數據
缺點
1.不會釋放空間,delete from會佔據空間,只是在數據上打上刪除標記
2.速度慢,因為delete from 需要記錄刪除的數據
truncate table
優點
1.速度快,無需記錄,全部刪除
2.真刪除,truncate table會釋放空間
缺點
1.默認提交,事務失敗也無法回滾,使用要千萬小心,出錯會死人的
總結
推薦使用delete from 除非是記錄性的數據,換句話說,truncate table盡量不要使用,一旦出事,可能被人拿去祭天了
語法
--語法
delete from tablename;
truncate table tablename;
--pl/sql語法 pl/sql不允許直接執行truncate table
EXECUTE IMMEDIATE 'truncate table tablename' ;
这篇关于oracle清空表的delete from和truncate table的優劣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!