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; --此时表中只有一条数据,删除即可