数据库
首页 > 数据库> > MySQL快速删除很多行

MySQL快速删除很多行

作者:互联网

我有两个表,我需要从第一行开始的所有行都不会出现在第二行中.

这些表在从其他表转储时可以被破坏.

第一个表有约5700万行.第二个表有约1000万行.

由于明显的原因,这两个查询都将永久保留,请帮助我更快地执行此操作.

SELECT *
FROM db.first
WHERE id NOT IN (SELECT id FROM db.second)
DELETE FROM db.first
WHERE 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

标签:sql-delete,select,mysql
来源: https://codeday.me/bug/20191102/1991504.html