表定义和索引都像下面查询运行时间更长。优化建议
CREATE TABLE `asin` (
`ASIN` tinytext,
`URL` tinytext,
KEY `ind1` (`ASIN`(20))
) ENGINE=MyISAM DEFAULT
CREATE TABLE `info` (
`ASIN` tinytext,
`Title` tinytext,
`Description` tinytext,
KEY `ind1` (`ASIN`(20)),
KEY `ASIN` (`ASIN`(20))
) ENGINE=MyISAM DEFAULT
目前第一个表中包含15056条记录和第2表中包含19975条记录。
我想找出存在的ASIN表中的记录,并在信息表中不存在
SELECT A.ASIN FROM ASIN A
WHERE NOT EXISTS (SELECT 1 FROM INFO B WHERE A.ASIN = B.ASIN)
查询花费145.2200秒
我认为这是一个有效的方式查询工作,但查询需要更多时间。任何建议。我希望我提供所有的细节。
本文将帮助http://explainextended.com/2009/09/18/not-in- vs-not-exists-vs-left-join-is-null-mysql/ – Meherzad