匿名用户mysql自查询中有主键使用in和主键使用=的区别
原查询
select * from t where t.id in (select max(id) from t where t.name='xxx' and t.age=11);自查询由于有name索引只扫描1行就能查到结果,但是主键却使用扫描全表。将语句换成select * from t where t.id = (select max(id) from t where t.name='xxx' and t.age=11);后语句均扫描1行即可得到结果。这是为什么?
我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

评论
