v一、前言

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

可以用以下方法进行删除

假设要删除的原表为SOURCE_T 

v二、解决办法

第一步:生成中间表

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

第二步:修改表名

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

第三步:执行删除

怎么快速删除大数据量表_数据

1 drop table SOURCE_T_B; --删除那个被你改为其他名字的表 delete from SOURCE_T; --此时表中只有一条数据,删除即可