关于使用 from 子查询替代where子查询疑惑?
来源:3-6 CRUD操作(二)

小飞猪来了
2019-06-21
老师,请教一下。这两个子查询使用 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,第一次能过滤掉的内容越多越好。
152019-06-24
相似问题