我有两个表:'电影'和'用户'。 这些人之间存在n:m的关系,描述了用户看过的电影。这是描述了一个表'看' 现在我想找出一个给定的用户,所有他没有看到的电影。 我目前的解决办法是这样的:MySQL:查找不参与关系的行
SELECT *
FROM movies
WHERE movies.id NOT IN (
SELECT seen.movie_id
FROM seen
WHERE seen.user_id=123
)
这工作得很好,但似乎并没有很好地进行缩放。有没有更好的方法呢?
如果它不能很好地缩放,那么您的索引无效。你的索引是什么? – dkretz 2009-02-13 00:08:13
>这工作正常,但似乎没有很好地扩展。有没有更好的方法呢?您是否在此查询上尝试了EXPLAIN? – VolkerK 2009-02-13 00:03:28