Cartesian Product(카테시안 곱) 성능 관련 입니다.
wjdxorduf 수험생

답변 채택시 : 0코아

답변 0 추천 0 조회 168 2019.06.25

수고 많으십니다.


평소에 Cartesian Product(카테시안 곱) 기능을 편리하게 사용하고 있습니다.

  ----  평소 사용시에는 많아야  10배수 안쪽으로 사용


이번의 경우는 업무 특성상  아래와 같이 많은 수의 Cartesian Product(카테시안 곱) 이

필요 합니다.


C 집합까지는 성능이 좋은 편이나  D 집합 부터는 아직 끝을 보지 못하였습니다.


좋은 방법이 없을까요?


고수님들의 지도 바랍니다.


감사합니다.



   SELECT COUNT(*)
  FROM
  (
  SELECT E.NO, F.NO, COUNT(*) AS 건수
   FROM (
    SELECT C.NO, COUNT(*)  AS 건수
     FROM (
      SELECT    B.NO,  COUNT(*)  AS 건수
         FROM  (SELECT LEVEL AS  SEQ
              FROM  DUAL  CONNECT BY LEVEL < 2000    
            ) A,
                         (SELECT LEVEL AS NO
                            FROM DUAL CONNECT BY LEVEL < 10000001  ---마스터

                         ) B
        WHERE 1 = 1
         GROUP BY B.NO
      ) C ,
      (SELECT LEVEL SEQ1
         FROM DUAL CONNECT BY LEVEL < 730000 -- 공시
     ) D
     WHERE 1 = 1
     GROUP BY C.NO
        ) E
     ,  (SELECT LEVEL NO
          FROM DUAL CONNECT BY LEVEL < 1400 -- 가로수 만큼 증가 시킴
        )  F
   WHERE 1 = 1
   GROUP BY E.NO, F.NO
   ) G


위의 sql을 각각 분리하여 물리적으로 테이블을 만들어서 실행도 하여 보았으나

D 집합에서 끝을 보지 못하였습니다. ㅠㅠㅠ

댓글 (0)
목록 답변등록