在多个NOT-INs上优化MySQL查询
有没有办法优化这个sql语句? 也许是什么在多个NOT-INs上优化MySQL查询,mysql,sql,Mysql,Sql,有没有办法优化这个sql语句? 也许是什么 SELECT id, name FROM item WHERE id NOT IN ( SELECT id FROM itemlock ) AND id NOT IN ( SELECT id FROM itemlog ) 谢谢使用左加入 SELECT a.* FROM item a LEFT JOIN itemLock b ON a.ID = b.ID LEFT JOI
SELECT id, name
FROM item
WHERE id NOT IN (
SELECT id
FROM itemlock
) AND id NOT IN (
SELECT id
FROM itemlog
)
谢谢使用
左加入
SELECT a.*
FROM item a
LEFT JOIN itemLock b
ON a.ID = b.ID
LEFT JOIN itemLog c
ON a.ID = c.ID
WHERE b.ID IS NULL AND
c.ID IS NULL
您也可以使用UNION,如下所示:
SELECT id, name FROM item
WHERE id NOT IN (
SELECT id FROM itemlock UNION SELECT id FROM itemlog
)
试试这个:
SELECT id, NAME FROM item i
LEFT JOIN (SELECT id FROM itemlock
UNION
SELECT id FROM itemlog) AS A ON i.id = A.id
WHERE A.id IS NULL;
我试图运行这个,但不幸的是,这比我原来的脚本慢。工会可能会让事情变得更慢-(