【发布时间】:2017-10-08 02:13:02
【问题描述】:
我有一个表 cast 大约有 150 万行,还有一个较小的表 watched 大约有 1000-2000 行。两个表共享一个名为movieId 的列。我正在尝试运行此查询:
SELECT actorId, COUNT( actorId )
FROM cast t1
WHERE EXISTS (
SELECT userId
FROM watched t2
WHERE t1.movieId = t2.movieId
AND t2.userId =8
)
GROUP BY actorId
但是,返回结果大约需要 5 秒。我是 cast 表中 actorId 和 movieId 的多列索引,以及 watched 表中 userId 和 movieId 的索引。 该查询返回大约 20000 个结果。 有什么方法可以优化我的查询/表,以便查询运行得更快?
【问题讨论】: