千万级数据库中删除指定数据解决方案

2024-08-12 09:23:36 浏览数 (2)

千万级别的数据,执行delete where 时,非常的慢,不论你有没有索引都是一样的。此时可以采用以下方法折中:

代码语言:sql复制
-- 1、创建临时表
create table xx_temp as select * from xx where xxx;
-- 2、直接摧毁原来的表
drop table xx purge;  -- 不放回收站
--3、拉回数据
insert into table xx select * from xx_temp;
--4、摧毁临时表
drop table xx_temp;

此方法亲测可用,但是创建临时表的时候,注意表空间是否会爆满

0 人点赞