+ -
当前位置:首页 → 问答吧 → 快速删除小部分重复记录

快速删除小部分重复记录

时间:2011-07-11

来源:互联网

表中重复的记录不多,比如,记录总数60000,重复记录也就3000左右。
如何快速删除?

注明:此处的记录重复是指部分字段重复,最后一个字段不重复。

delete from tableA where (ziduan1,ziduan2,...) not in (select * from (select ziduan1,ziduan2,ziduan3,.. as p from tableA group by ziduan1,ziduan2,...)

我用上面的语句删除记录,发现需要花费很多时间,且随着记录总数的增加,花费的时间也在增加,不知道如何快速删除?

作者: weixj2011ld   发布时间: 2011-07-11

SQL code
create table temp
select ziduan1,ziduan2,...,最后一个字段 
from tb 
group by ziduan1,ziduan2,...

drop table tb;
rename table temp to tb;

作者: rucypli   发布时间: 2011-07-11