作为一项任务,我需要清理电影数据库.
一些用户已被删除,我不得不删除不再在数据库中的用户的评级.
我做了这个查询
DELETE rating FROM rating LEFT JOIN (SELECT id FROM user) as A ON A.id = rating.userId WHERE A.id IS NULL;
Run Code Online (Sandbox Code Playgroud)
我在rating.userId和user.Id上做了索引
由于有6000个用户和1.000.000评级,这需要很长时间.任何人都可以弄清楚我如何能够以更好的性能执行此操作或这样的查询?
删除不必要的子选择
DELETE rating
FROM rating
LEFT JOIN user ON user.id = rating.userId
WHERE user.id IS NULL
Run Code Online (Sandbox Code Playgroud)