【发布时间】:2010-10-07 08:14:47
【问题描述】:
我有两个表:“电影”和“用户”。 它们之间存在 n:m 关系,描述了用户看过的电影。这是用“看到”的表来描述的 现在我想为给定的用户找出他没有看过的所有电影。 我目前的解决方案是这样的:
SELECT *
FROM movies
WHERE movies.id NOT IN (
SELECT seen.movie_id
FROM seen
WHERE seen.user_id=123
)
这工作正常,但似乎不能很好地扩展。有更好的方法吗?
【问题讨论】:
-
> 这工作正常,但似乎不能很好地扩展。有更好的方法吗?您是否在此查询中尝试过 dev.mysql.com/doc/refman/5.0/en/…>?
-
如果它不能很好地缩放,那么你的索引是无效的。你的索引是什么?
标签: sql mysql join entity-relationship