Oracle清空⼀个表的数据(数据量⼤的做法)
如果有⼀张表有上千万条数据,需要清空这个表的数据,你会怎么解决?
如果⽤delete,会卡上半天时间,不可⾏。需要⽤truncate table去解决,如下:
1、先创建⼀个备份表
create table 备份表 as
truncate删除数据select * from 千万条数据的表
2、清空数据
truncate table 千万条数据的表
3、如果需要保留部分数据
insert into 千万条数据的表 select * from 备份表 where ......
4、删除临时表
drop table 备份表
完成。
TRUNCATE TABLE 是⼀次性地从表中删除所有的数据并不把单独的删除操作记录记⼊⽇志保存,删除⾏是不能恢复的。并且在删除的过程中不会激活与表有关的删除触发器。执⾏速度快。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论