SSISO Community

시소당

Decode의 사용

Row들에  대해서  Count,  Sum의  연산을  하게  되는데  이때  Decode를  사용하면  성능이  향상된다.

Select  count(*),  sum(sal)
From    emp
Where  deptno  =  1000
And      ename  like  ‘김%’

Select  count(*),  sum(sal)
From    emp
Where  deptno  =  3000
And      ename  like  ‘김%’

<개선안>
Select  count(decode(deptno,  1000,  ‘x’,  null))  dept1000_count,
                      count(decode(deptno,  3000,  ‘x’,  null))  dept3000_count,
                        sum(decode(deptno,  1000,  sal,  null)  dept1000_sal,
                        sum(decode(deptno,  3000,  sal,  null)  dept3000_sal
From  emp
Where  ename  like  ‘김%’;

525 view

4.0 stars