메뉴 여닫기
개인 메뉴 토글
로그인하지 않음
만약 지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.

카테시안 프로덕트 튜닝 기법

DB CAFE

카테시안 프로덕트 튜닝 기법

  • 튜닝전
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