如何优化查询,删除重复的200万个项目

x33g5p2x  于 2021-08-13  发布在  Java
关注(0)|答案(1)|浏览(215)

晚上好,
这是我的查询,应该从表中删除重复项。我怎样才能优化这两百万条记录?

DELETE p1 
FROM wp_ads_platform_users p1 
INNER JOIN wp_ads_platform_users p2 
WHERE p1.id < p2.id 
  AND p1.number = p2.number

谢谢你的帮助。

0pizxfdo

0pizxfdo1#

在mysql中,您可以预聚合:

DELETE p
    FROM wp_ads_platform_users p JOIN
         (SELECT number, MAX(id) as max_id
          FROM wp_ads_platform_users p2
          GROUP BY number
         ) pp
         ON p.number = pp.number
    WHERE p.id < pp.max_id;

也就是说,删除200万行需要时间。可能需要使用查询重新创建表。

相关问题