热门关键字:  ubuntu  分区  函数  linux系统进程  Fedora

ORACLE SQL性能优化系列 (三)

来源: 作者: 时间:2008-03-21 Tag: 点击:
8. 使用DECODE函数来减少处理时间



使用DECODE函数可以避免重复扫描相同记录或重复连接相同的表.



例如:

SELECT COUNT(*),SUM(SAL)

FROM EMP

WHERE DEPT_NO = 0020

AND ENAME LIKE ‘SMITH%’;



SELECT COUNT(*),SUM(SAL)

FROM EMP

WHERE DEPT_NO = 0030

AND ENAME LIKE ‘SMITH%’;



你可以用DECODE函数高效地得到相同结果



SELECT COUNT(DECODE(DEPT_NO,0020,’X’,NULL)) D0020_COUNT,

COUNT(DECODE(DEPT_NO,0030,’X’,NULL)) D0030_COUNT,

SUM(DECODE(DEPT_NO,0020,SAL,NULL)) D0020_SAL,

SUM(DECODE(DEPT_NO,0030,SAL,NULL)) D0030_SAL

FROM EMP WHERE ENAME LIKE ‘SMITH%’;



类似的,DECODE函数也可以运用于GROUP BY 和ORDER BY子句中.



最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册