“不存在”的MySQL查询需要太长时间

时间:2014-10-16 12:35:13

标签: mysql sql

我有一张这样的表:

û

我的查询是

SELECT *, 
       week (pdate,3) 
  FROM pubmed
 where not exists (select 1 
                     from screened 
                    where suser=86
                      and ssearch=pubmed.aid)
 order by pdate desc

Screened只有30000条记录,但查询需要几分钟。

Pubmed.aid是主要索引。

我想我已经创建了所有可以使用的索引。有什么想法吗?

谢谢。

1 个答案:

答案 0 :(得分:3)

我无法在评论中对其进行格式化,在此处添加 尝试LEFT JOIN

   SELECT P.*,week (P.pdate,3) 
   FROM pubmed P
   LEFT JOIN screened S
   ON S.ssearch = P.aid 
   AND S.suser = 86
   WHERE S.ssearch is NULL
   order by P.pdate