一、前言

要清空表中数据,100w条数据以上的表,开始我们使用delete from t_user进行删除,这样操作太慢了,需要等好长时间,如果数据量更大,那么我们要等的时间无法想象。

可以用以下方法进行删除

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

假设要删除的原表为SOURCE_T 

二、解决办法

第一步:生成中间表

怎么快速删除大数据量表 Hadoop 第1张
1 create table SOURCE_T_M as select * from SOURCE_T where id = '111' --任意指定一条符合条件的数据即可
View Code

第二步:修改表名

怎么快速删除大数据量表 Hadoop 第3张
1 rename SOURCE_T to SOURCE_T_B; --将源表改为其他名字 rename SOURCE_T_M to SOURCE_T; --将中间表改名为原表
View Code

第三步:执行删除

怎么快速删除大数据量表 Hadoop 第5张
1 drop table SOURCE_T_B; --删除那个被你改为其他名字的表 delete from SOURCE_T; --此时表中只有一条数据,删除即可
View Code

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄