카테시안 프로덕트 튜닝 기법
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
카테시안 프로덕트 튜닝 기법[편집]
- 튜닝전
SELECT 'AAA' GBN
, EMP_ID,EMP_NAME
FROM EMP
WHERE DEPT_NO = 10
UNION ALL
SELECT 'BBB' GBN
, EMP_ID,EMP_NAME
FROM EMP
WHERE DEPT_NO IN ( 10 , 20 )
- 카테시안 프로덕트로 변경
SELECT CASE WHEN RCNT =2 THEN 'BBB' ELSE 'AAA' END GBN
, EMP_ID,EMP_NAME
FROM EMP
, (SELECT ROWNUM RCNT FROM DUAL CONNECT BY LEVEL <= 2) -- 카테시안
WHERE DEPT_NO IN ( 10 , 20 )
AND RCNT <= CASE WHEN A.DEPT_NO = 10 THEN 2 ELSE 1 END -- 분기 조건
GROUP BY EMP_ID,EMP_NAME
, CASE WHEN RCNT = 2 THEN 'BBB' ELSE 'AAA' END