一、前言 要清空表中數據,100w條數據以上的表,開始我們使用delete from t_user進行刪除,這樣操作太慢了,需要等好長時間,如果數據量更大,那麼我們要等的時間無法想象。 可以用以下方法進行刪除 假設要刪除的原表為SOURCE_T 二、解決辦法 第一步:生成中間表 1 create t ...
一、前言
要清空表中數據,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