mysql left jion和in子查询选填字段个人见解

文章讨论了在MySQL中,由于leftjoin可能导致全表扫描的问题,特别是在存在缺失数据或标签关联时。作者建议在这些情况下使用子查询,以减少查询效率并确保结果完整性,尤其是在商品列表应用中,保证商品总是被返回。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

因为left jion会有字符,不能命中索引等原因导致全表扫描,所以可能出现这些问题的时候用子查询比较好。选填的一些信息比如标签,使用在a left join b的时候可能因为有些数据没有导致全表扫描,扫描数量就是a(查询数量)*b(全表),不如in子查询select b in select a扫描大概是a(查询数量)+b(全表)。用left join原因是比如商品列表带标签,你不能不返回商品。

以下借鉴

MySQL Join原理_mysql的join原理_-小龙人的博客-优快云博客mysql join 和left join 对于索引的问题_为什么left join会走索引,子查询不会_hongmingover的博客-优快云博客

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值