一、前言

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

可以用以下方法进行删除

假设要删除的原表为SOURCE_T 

二、解决办法

第一步:生成中间表

1 create table SOURCE_T_M as select * from SOURCE_T where id = '111' --任意指定一条符合条件的数据即可
View Code

第二步:修改表名

1 rename SOURCE_T to SOURCE_T_B; --将源表改为其他名字 rename SOURCE_T_M to SOURCE_T; --将中间表改名为原表
View Code

第三步:执行删除

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

 

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!