摘要:
Oracle SQL性能优化(引)http://feed.cnblogs.com/blog/u/66502/rss(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WH 阅读全文
摘要:
临时记录:查询每个部门工资前2名的员工(ename sal dname )SELECT ENAME ,SAL , DNAME FROM DEPT , (SELECT ENAME ,SAL ,DEPTNO , ROW_NUMBER() OVER ( PARTITION BY DEPTNO ORDER BY SAL DESC) R from EMP ) T WHERE T.DEPTNO = DEPT.DEPTNO AND T.R <= 2 ; 阅读全文