请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于使用 from 子查询替代where子查询疑惑?

老师,请教一下。这两个子查询使用 explain 来分析,发现几乎没差别。那我们工作中怎么才能知道两个sql的执行效率呢?

explain select empno, ename from t_emp where sal > (select sal from t_emp where empno = 7499) and empno != 7499

explain select e.empno, e.ename from t_emp e join (select sal from t_emp where empno = 7499) t on e.sal >t.sal and e.empno != 7499

where 子查询 explain:
图片描述

from 子查询 explain:
图片描述

正在回答

1回答

同学你好,关于EXPLAIN的具体用法和分析可以参考这个帖子。https://www.cnblogs.com/galengao/p/5780958.html

比较两个SQL的执行结果,看select_type,如果有子查询出现,效率是非常低的。还有就是看type,const比range快。还有filtered,第一次能过滤掉的内容越多越好。

1 回复 有任何疑惑可以回复我~
  • 提问者 小飞猪来了 #1
    感谢老师的回答!  参考的帖子地址是不是发错了?
    回复 有任何疑惑可以回复我~ 2019-06-21 13:49:39
  • 神思者 回复 提问者 小飞猪来了 #2
    地址更改过来了,你看一下
    回复 有任何疑惑可以回复我~ 2019-06-21 14:52:08
  • 提问者 小飞猪来了 回复 神思者 #3
    好像还是不对
    回复 有任何疑惑可以回复我~ 2019-06-21 15:31:40
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信