Oracle 清空一個表的數據(數據量大的做法)


如果有一張表有上千萬條數據,需要清空這個表的數據,你會怎么解決?

如果用delete,會卡上半天時間,不可行。需要用truncate table去解決,如下:

1、先創建一個備份表

create table 備份表 as

select * from 千萬條數據的表

2、清空數據

truncate table 千萬條數據的表

3、如果需要保留部分數據

insert into 千萬條數據的表 select * from 備份表 where ......

4、刪除臨時表

drop table 備份表

完成。

 

TRUNCATE TABLE 是一次性地從表中刪除所有的數據並不把單獨的刪除操作記錄記入日志保存,刪除行是不能恢復的。並且在刪除的過程中不會激活與表有關的刪除觸發器。執行速度快。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM