在大约有 170 万行的表上,我尝试删除重复的帖子:
delete a FROM comment a
INNER JOIN comment a2
WHERE a.id < a2.id
AND a.body = a2.body;
结果是:
Query OK, 35071 rows affected (5 hours 36 min 48.79 sec)
这发生在我几乎空闲的工作站上,该工作站配备 Intel(R) Core(TM) i7-4790 CPU @ 3.60GHz
。
我想知道是否有一些技巧可以使删除操作更快?
最佳答案
下面的查询将对您有用。
Delete YourTableName
From (
Select row_number() over(Partition by ColName1,ColName2,ColName3 order by ColName1,ColName2,ColName3 Asc)As RowNumber
)YourTableName
Where YourTableName.RowNumber>1
如果有效,请标记为答案
关于mysql - 如何更快地删除重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56492012/