使用多个表进行MySQL连接,避免使用子查询方法
P粉442576165
P粉442576165 2023-09-07 17:38:48
[MySQL讨论组]

我在fiddle中的查询如下。

select * from notification where status = 0 and (
 notif_id in (select notif_id from notif_user where user_id = 1) OR 
 notif_id in (select notif_id from notif_group where group_id = 1))

https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=cad284e77218eb37461e60b6308bf85f

查询按预期工作。但是,查询是否会有任何性能问题。是否可以将内部查询转换为连接?

P粉442576165
P粉442576165

全部回复(1)
P粉567281015

您的子查询不是依赖子查询,而是独立的。也就是说,它们不引用您的notification表中的列,而只引用它们自己表中的列。

所以这里没有性能问题。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号