如何优化这个mysql查询?我使用IN()运算符
如何优化这个mysql查询?我使用的是如何优化这个mysql查询?我使用IN()运算符,mysql,sql,optimization,Mysql,Sql,Optimization,如何优化这个mysql查询?我使用的是IN()操作符,但我相信这不是实现它的方法 select * from users where usid NOT in ( select usid from images where status=0 ) and us_status=0 您可以使用以下查询: SELECT us.* FROM users as us INNER JOIN images as img ON us.usid = img.usid AND img.status=1
IN()
操作符,但我相信这不是实现它的方法
select *
from users
where usid NOT in
(
select usid
from images
where status=0
)
and us_status=0
您可以使用以下查询:
SELECT us.*
FROM users as us
INNER JOIN images as img ON us.usid = img.usid AND img.status=1
WHERE us.us_status = 0
必须阅读文章:使用左外连接
SELECT users.*
FROM users
LEFT OUTER JOIN images ON user.usid = images.usid AND images.status = 0
WHERE images.usid IS NULL
AND us_status = 0
这样可以避免使用性能较差的选项。更重要的是,在这里,公认的答案应该可以帮助您。总之,对于MySQL,请使用
LEFT JOIN/IS NULL
删除匹配的记录。非常感谢,取而代之的是us\u状态必须是users。状态是吗?您最初的查询中包含us\u状态。如果这是user.status的输入错误,则将其更改为该错误
SELECT users.*
FROM users
LEFT OUTER JOIN images ON user.usid = images.usid AND images.status = 0
WHERE images.usid IS NULL
AND us_status = 0