即使使用索引,LEFT JOIN也要花费很长时间

时间:2019-03-06 19:23:57

标签: mysql

我都有两个表都是InnoDB。两者都有被索引的列email

第一张表users是100,000条记录。第二张表preview_movie是1,500条记录。

我想获取所有不在users表中但在preview_movie表中的电子邮件。

SELECT a.email as email FROM `preview_movie` a  
LEFT JOIN users c on c.email=a.email 
WHERE c.email is NULL

我尝试了这种变化,但仍然需要很长时间:

SELECT * FROM `preview_movie` a  
WHERE NOT EXISTS
(SELECT email FROM users B WHERE B.email = a.email)

这个简单的查询需要70秒钟以上的时间才能执行。我该怎么解决?

0 个答案:

没有答案