我正在寻找一种方法来优化我有的一个SQL查询。我试图弄清楚某种流派有多少诗。嵌套SQL查询需要太长时间
查询看起来是这样的:
SELECT
COUNT(*)
FROM
`poems`
WHERE `id` IN (
SELECT `poem_id`
FROM `poems_genres`
WHERE `genre_title` = 'derision'
)
AND `status` = 'finished';
花了很长(约6-10秒),因为它不能使用索引(因为在()我觉得呢?)。有没有办法以不同的方式重写此查询以更快地获得相同的结果?
谢谢,对我有很多新的信息:) – 2010-10-21 14:06:38
使用JOIN重写查询减少了由查询从4266806到1644查询的行。作为闪电工作:) – 2010-10-22 10:17:21