我有一个名为"downloads"的表,有两个外键列 - "user_id"和"item_id".我需要从该表中选择所有行,并删除有问题的User或Item不再存在的行.(查找用户,如果找不到,请删除"下载"中的行,然后查找项目,如果找不到,请删除"下载"中的行).
这是340万行,所以我所有的脚本解决方案都需要6个多小时.我希望有一种更快,仅限SQL的方法来做到这一点?
Den*_*rdy 27
使用两个反连接和or它们在一起:
delete from your_table
where user_id not in (select id from users_table)
or item_id not in (select id from items_table)
Run Code Online (Sandbox Code Playgroud)
完成后,考虑添加两个外键,每个外键都有一个on delete cascade子句.它会自动为你做这件事.
| 归档时间: |
|
| 查看次数: |
5757 次 |
| 最近记录: |