java面试题网

普通会员

217

帖子

75

回复

160

积分

楼主
发表于 2019-05-06 11:26:38 | 查看: 5460| 回复: 0

SQL面试题:请将如下数据库语句进行优化,使其执行效率更高

请将如下数据库语句进行优化,使其执行效率更高
SELECT…
FROM EMP
WHERE DEPT_NO NOT IN (SELECT DEPT_NO
FROM DEPT
WHERE DEPT_CAT=’A’);

SELECT…
FROM EMP
WHERE DEPT_NO NOT EXISTS(SELECT DEPT_NO
FROM DEPT
WHERE DEPT_CAT=’A’);

优化的理由:not in 和not exists

如果查询语句使用了not in 那么内外表都进行全表扫描,没有用到索引;

而not extsts 的子查询依然能用到表上的索引。所以无论那个表大,用not exists 都比not in 要快。


文章来自www.wityx.com,转载请注明出处!原文地址http://www.wityx.com/post/787_1_1.html


java面试题交流群:327440556

您需要登录后才可以回帖 登录 | 立即注册

java面试题网www.wuliaokankan.cnjava建站系统提供技术支持V2.1 网站地图 © 2016-2018