oracle删除上千万条数据的快速删除方法怎么写?

javaEasy 发布于 2012/08/01 10:17
阅读 3K+
收藏 0
数据库中一个表的数据有上千万条,现在要删除满足一定条件的数据,不知道怎么写高效的sql语句了,直接写条件sql删除的速度太慢了 ? 往高手指教啊  ?
加载中
1
情天大圣
情天大圣
create table temp  
as
select * from tablename
where 條件.
/
truncate table tablename
/
insert into tablename  
select * from temp
/
commit
/
drop table temp
/

建个temp表,把你要的记录拷过去,truncate原表,再把temp中的记录全部拷回去
0
javaEasy
javaEasy

引用来自“情天大圣”的答案

create table temp  
as
select * from tablename
where 條件.
/
truncate table tablename
/
insert into tablename  
select * from temp
/
commit
/
drop table temp
/

建个temp表,把你要的记录拷过去,truncate原表,再把temp中的记录全部拷回去
要留的数据比较多啊 ? 这样查询要留的数据 在插入新表 这样不也是很慢的吗 ?
javaEasy
javaEasy
回复 @情天大圣 :
情天大圣
情天大圣
试下吧,呵呵
返回顶部
顶部