摘要: Oracle SQL性能优化(引)http://feed.cnblogs.com/blog/u/66502/rss(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询, 那就需要选择交叉表(intersection table)作为基础表, 交叉表是指那个被其他表所引用的表.(2)WHERE子句中的连接顺序.:ORACLE采用自下而上的顺序解析WH 阅读全文
posted @ 2012-12-25 16:41 理智宪 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 临时记录:查询每个部门工资前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 ; 阅读全文
posted @ 2012-12-25 16:14 理智宪 阅读(1067) 评论(2) 推荐(0) 编辑