oracle WHERE子句中的连接顺序
2024-10-08 01:33:47
ORACLE采用自下而上的顺序解析WHERE子句,根据这个原理,表之间的连接必须写在其他WHERE条件之前, 那些可以过滤掉最大数量记录的条件必须写在WHERE子句的末尾.
例如:
(低效,执行时间156.3秒)
SELECT …
FROM EMP E
WHERE SAL > 50000
AND JOB = ‘MANAGER’
AND 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO);
(高效,执行时间10.6秒)
SELECT …
FROM EMP E
WHERE 25 < (SELECT COUNT(*) FROM EMP
WHERE MGR=E.EMPNO)
AND SAL > 50000
AND JOB = ‘MANAGER’;
最新文章
- 邻接矩阵c源码(构造邻接矩阵,深度优先遍历,广度优先遍历,最小生成树prim,kruskal算法)
- [Angular2 Router] Using snapshot in Router
- STM32的GPIO使用的函数剖析
- [ECNU 1624] 求交集多边形面积
- ios 中介者模式
- Vitaliy and Pie(模拟)
- cisco san交换机配置
- ROM与RAM知识
- ThinkPHP项目总结
- 算法模板——线段树6(二维线段树:区域加法+区域求和)(求助phile)
- [ext4]空间管理 - 查找块
- javascript显式类型转换
- [例子]Ubuntu虚拟机设置固定IP上网
- Retrofit 下载网络图片 保存到本地
- Leetcode 136 Single Number 仅出现一次的数字
- CSS设置DIV边框为圆角,添加背景色溢出的问题
- 用Hexo在GitHub上搭建个人博客
- 【C#】 Method invocation is skipped
- 保持url唯一性 解决多个网站首页问题
- nginx 下载 大文件被截断