首页 新闻 搜索 专区 学院

关于数据库中某一张表删除重复的数据 请高手解答一下

0
悬赏园豆:20 [待解决问题]

有一张表  A  字段名是id,mobile,flag,sendtime 怎么删除这张表中重复的数据最快。

delete A where id not in

(

  select min(b.id) from A as b where A.mobile=b.mobile

)

除了这种的 还有没有比这种的更快的 效率更高的    !!!

前提条件 这张表中数据量超过1亿

 

花舞小蝶?的主页 花舞小蝶? | 初学一级 | 园豆:185
提问于:2010-11-01 14:05
< >
分享
所有回答(4)
0
select distinct * into #Temp from A
drop table a
select
* into a from #Temp
天神一 | 园豆:845 (小虾三级) | 2010-11-01 16:06
这种方法我试过,时间超过1.5个小时 有没有更快的方法
支持(0) 反对(0) 花舞小蝶? | 园豆:185 (初学一级) | 2010-11-01 17:11
0

Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)

悠悠思丶 | 园豆:189 (初学一级) | 2010-11-01 16:25
和我那个方法基本道理一样运行速度很慢 不太适合
支持(0) 反对(0) 花舞小蝶? | 园豆:185 (初学一级) | 2010-11-01 17:12
0

delete from tbalename group by mobie having count(*)>2 要确定mobie是唯一的主键

雪莱·亨尼格 | 园豆:524 (小虾三级) | 2010-11-08 10:15
0

先筛选出来重复的数据,然后再用你的语句就可以提高很多

hotdefans | 园豆:215 (菜鸟二级) | 2010-11-16 08:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册