gpt4 book ai didi

mySQL 快速删除大量行

转载 作者:可可西里 更新时间:2023-11-01 08:07:50 25 4
gpt4 key购买 nike

我有两个表,我需要第一个表中没有出现在第二个表中的所有行。

这些表可以被销毁,因为它们是其他表的转储。

第一个表有大约 5700 万行。第二个表有大约 1000 万行。

由于显而易见的原因,这两个查询都需要很长时间,请帮助我更快地完成此操作。

SELECT *FROM db.firstWHERE id NOT IN (SELECT id FROM db.second)
DELETE FROM db.firstWHERE id IN (SELECT id FROM db.second)

编辑:我不需要第二个表中的任何记录,我只需要出现在第一个表中但未出现在第二个表中的行。

最佳答案

使用连接可能会快得多:

select one.*
from db.first one
left join db.second two on one.id = two.id
where two.id is null

和删除:

delete first
from first
join second on first.id = second.id

关于mySQL 快速删除大量行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6586235/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com