当前位置 :

wget 下载整站内容

wget -m -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36" "http://xxx.com/"

oracle 删除大表内的重复数据

因为一些原因数据库中的一张表(2kw+数据)没有建立主键,并且随着时间的增加产生了大量的重复数据,我通过以下方式进行数据去重:

原理:即使是所有业务字段都一样的两条数据他的rowid也是不一样的。

首先按照业务要求找出哪些字段重复的算重复数据,我是这样的,以下字段全部一致就认为是重复数据: hphm,hpzl,wfsj,wfxw,jszh
表名:VIOLATION_USE

此表为分区表,查此表分区详情:

SELECT * FROM USER_TAB_PARTITIONS WHERE TABLE_NAME =’VIOLATION_USE’;

4f0245818c31ff9365119e25917b.jpg

查询表使用的分区

可以看到此表有10个分区:SYS_P51 – SYS_P60;

查询重复数据里的最大的rowid,然后删除rowid 在里面的数据,因为是分区表所以可以分区操作,否则时间会非常长(ps我在服务器上操作一晚上也没成功):

delete from violation_use PARTITION(SYS_P51) where rowid in (
select rid from
(
select max(rowid) rid,count()
from violation_use
group by hphm,hpzl,wfsj,wfxw,jszh
having count(
)>1
)
);

重复执行直到删除所有重复数据。

结婚旅行

2012-8-29到2012-9-4蜜月旅行,从杭州到西塘再到上海最后会济南

总体感觉西塘的景色还可以特别是夜景,杭州西湖去的时候没有多少人也没发现什么特色。对于上海并没有啥亮点,本来安排了3天时间但是后两天基本就是在酒店度过的。
imgr.jpeg

西湖远山

22.jpeg

此美女外号花蝴蝶,要飞起来

33.jpeg

草木茂盛-不愧是西湖就是人少了点

44.jpeg

西塘小桥流水

未完待续