2012-11-20 45 views
3

重复的记录我有2个MySQL表(表主表和备用)有一些行复制到备份表和一些不...删除主表的mysql

现在我需要删除主表的所有行这是可用的备份表与单个查询,约为约。 700K +行两个表中

+0

使用类似于:删除从主其中id在(从备份表中选择ID) – gipinani

+0

我必须问,为什么你需要在一个查询中做到这一点?看起来像使用'LIMIT'来删除小块中的行将在事务日志上更容易... –

回答

1

喜欢的东西:

DELETE FROM master_table WHERE id IN (SELECT id FROM backup_table) 

当然这需要在id字段唯一键的工作

1

我建议这样的:

DELETE m 
FROM master_table m 
JOIN backup_table b ON b.id = m.id 

使用的IN子句中的那么多行肯定会有性能问题。