1000万行表MySQL / myisam 18秒处理?

时间:2014-05-03 09:32:50

标签: mysql sql performance myisam

此查询:

 SELECT picturesaddress.id
   FROM picturesaddress
  WHERE picturesaddress.id NOT
  IN (

  SELECT userdata.id
    FROM userdata
   )

每张表1000万行,故事18秒。

-Myisam -id是两者中的主键

Explain

据我记得,他们都处于分区模式两个表。

那时候是否正确? 可以优化吗?

在共享托管服务器中运行。

由于

1 个答案:

答案 0 :(得分:1)

尝试使用left join

SELECT picturesaddress.id
FROM picturesaddress
LEFT JOIN userdata on userdata.id = picturesaddress.id
WHERE userdata.id IS NULL

IN子句可能会因列表中的许多记录而变慢。