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