mysql 多表查询 left join 性能下降问题的疑问

王能 王能 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
经常有人说多表联查会浪费很多的性能和cpu
原因是联查时是先执行left join然后再执行where语句,这样生成的临时表数据会很大
但我测试下来发现并不是预想的那样...

SELECT os.id,app.id,oi.id,oo.id FROM osx as os
LEFT JOIN appx as app ON app.id = os.app_id
LEFT JOIN oix as oi ON oi.order_sn=os.order_sn
LEFT JOIN oox as oo ON oo.order_sn=os.order_sn
WHERE os.od_id BETWEEN 100 AND 110

如上查10条数据,执行时间0.01秒

其中osx/oix/oox的数据量均在100w条以上,如果按照先left join的套路,怎么也得是按秒来的吧?
是我哪里理解错了吗?
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
王能
疑难问题 22,298 成员 121,727 内容