Ran*_*son 3 mysql sql query-optimization
我有一个包含相当数量记录的数据库,我想找到没有存储用户项的用户:
select `name`
from `users`
where `ID` not in (select distinct `userID` from `userItem`)
Run Code Online (Sandbox Code Playgroud)
在MySQL服务器切断之前,此查询甚至不会完成执行.这里有一些我不知道的巨大低效率吗?
中有200,000条记录userItem和14,000条记录users.
查询结果来自查询:
1 PRIMARY users ALL NULL NULL NULL NULL 13369 Using where
2 DEPENDENT SUBQUERY userItem index NULL userID 8 NULL 189861 Using where; Using index; Using temporary
Run Code Online (Sandbox Code Playgroud)
例如 -
SELECT name
FROM users u
LEFT JOIN userItem ui
ON ui.userID = u.ID
WHERE ui.userID IS NULL
Run Code Online (Sandbox Code Playgroud)