删除重复数据的一种高效的方法
2012-06-03 16:59
405 查看
表demo是重复拷贝自dba_objects,有88万左右,不重复的是27323,没有索引
方法一:delete from demo a where a.rowid <> (select max(rowid) from demo b where
b.object_id=a.object_id);
耗时:几个小时以上方法二: delete from demo where rowid in
(select rid from
(select rowid rid,row_number() over(partition by object_id order by rowid) rn
from demo)
where rn <> 1 );
耗时:30秒
方法三: create table demo2 as
select object_id,owner... from
(select demo.*,row_number() over(partition by object_id order by rowid) rn from demo)
where rn = 1;
truncate table demo; insert into demo select * from demo2; drop table demo2;
共耗时: 10秒,适合大数据量的情况,产生更少回滚量;
经验证,此篇日志的方法可行,帮了我大忙,转自:/article/3968227.html 。
他那不能留言,在此感谢博主!
方法一:delete from demo a where a.rowid <> (select max(rowid) from demo b where
b.object_id=a.object_id);
耗时:几个小时以上方法二: delete from demo where rowid in
(select rid from
(select rowid rid,row_number() over(partition by object_id order by rowid) rn
from demo)
where rn <> 1 );
耗时:30秒
方法三: create table demo2 as
select object_id,owner... from
(select demo.*,row_number() over(partition by object_id order by rowid) rn from demo)
where rn = 1;
truncate table demo; insert into demo select * from demo2; drop table demo2;
共耗时: 10秒,适合大数据量的情况,产生更少回滚量;
经验证,此篇日志的方法可行,帮了我大忙,转自:/article/3968227.html 。
他那不能留言,在此感谢博主!
相关文章推荐
- 删除重复数据的一种高效的方法
- 删除重复数据的一种高效的方法
- ORACLE删除重复数据的一种高效的方法(转)
- ORACLE删除重复数据的一种高效的方法
- 高效删除Oracle中重复数据的方法
- 高效删除Oracle中重复数据的方法
- 高效删除Oracle数据库中重复数据的方法
- Sql 学习记录 一种删除重复数据的方法
- 高效删除Oracle数据库中重复数据的方法
- 高效删除Oracle数据库中重复数据的方法 .
- Oracle:高效删除Oracle中重复数据的方法
- 高效删除Oracle数据库中重复数据,并保留最新一条的方法
- 高效删除Oracle中重复数据的方法
- mysql 删除表中重复数据的一种方法
- 高效删除Oracle数据库中重复数据的方法
- SQLServer 数据去重的一种处理方法(增加一个自增字段,利用自增,删除重复数据)
- 高效删除Oracle数据库中重复数据,并保留最新一条的方法
- 高效删除Oracle中重复数据的方法
- C#返回arraylist集合长度的方法是什么?C#ArrayList重复数据删除
- SQL Server中删除重复数据的几个方法