실무개발자를위한 실무교육 전문교육센터학원
www.oraclejava.co.kr에 오시면 보다 다양한 강좌를 보실 수 있습니다.
ü 펼칠 컬럼이 너무 많을때는 먼저 GROUP BY 한 후 처리하라.
select dept_no,
sum(decode(substr(wk_dt,7,2),’01’,amt)) d1,
sum(decode(substr(wk_dt,7,2),’02’,amt)) d2,
sum(decode(substr(wk_dt,7,2),’03’,amt)) d3,
sum(decode(substr(wk_dt,7,2),’04’,amt)) d2,
,,,
sum(decode(substr(wk_dt,7,2),’31’,amt)) d31
à select dept_no,
sum(decode(dd,’01’,amt)) d1,
sum(decode(dd,’02’,amt)) d2,
sum(decode(dd,’03’,amt)) d3,
sum(decode(dd,’04’,amt)) d4,
,,,,
sum(decode(dd,’31’,amt)) d31
from ( select dept_no, substr(wk_dt,7,2) dd, sum(amt) amt
from tab1
where wk_dt like ‘200401%’
)
group by dept_no
ü COUNT, SUM의 비교
① sum(decode(col1,’A’,1,0))
② sum(decode(col1,’A’,1))
③ count(decode(col1,’A’,1,0))
④ count(decode(col1,’A’,1))
⑤ count(decode(col1,’A’,’C’))
Ø ①, ②, ④, ⑤ 는 동일하다.
Ø
Ø ③ 의 결과는 count(*) 과 동일하다.
Ø
Ø ①은 ②보다 불리하다(불필요한 0 연산)
Ø
Ø ②는 ④, ⑤ 보다 불리
Ø
Ø ④, ⑤ 는 동일하다.
Ø
Ø
q SUM은 COUNT에 비해 30~50% 불리함
q
q COUNT는 not null 인 경우에만 처리
q
q COUNT를 사용할 수 있다면 SUM을 사용하지 마라.
오라클,sql튜닝,oracle개발,hint,실행계획,아키텍쳐,오라클구조
오라클 실무강의 전문학원 오라클자바 교육센터