MySQL删除重复行

来源:互联网 发布:ubuntu看存储空间 编辑:程序博客网 时间:2024/05/18 12:35

网上有些做法是这样的:

delete from table_name where id not in (select min_id from (select min(id) as min_id from table_name group by duplicate_column) b);

发现这样在本地跑是可行的,20w+数据大概花了8s,但是同样的数据在linux上跑会出现CPU占用100%,而且还一直无法执行完毕。暂时不知道什么原因。

用另一种做法

sql语句:

ALTER IGNORE TABLE tableName

ADD UNIQUE INDEX  (`column`);

该语句会帮你把该字段的重复数据删除。

参考:

https://stackoverflow.com/questions/3311903/remove-duplicate-rows-in-mysql

https://stackoverflow.com/questions/14046355/how-do-i-delete-all-the-duplicate-records-in-a-mysql-table-without-temp-tables


原创粉丝点击