ÀÚµ¿
   
     

     
 
  
 
  ³²Åý   0   309   2010-2-26 12:38
  ÀζóÀÎºä »ç¿ë ½Ã Äõ¸®½ÇÇà ¼ø¼­¿¡ ´ëÇÑ Á¶¾ð ºÎʵ右´Ï´Ù.
Á¦¸ñ ¾øÀ½

Äõ¸® 1)

SELECT B.DEPARTMENT_ID

            , B.PARENT_DEPARTMENT_ID

        , A.ORG_ID

FROM (

        SELECT  P.PROJECT_ID

                , P.ORG_ID

        FROM PROJECT P

        WHERE UPPER(P.PROCESS_TYPE) = 'CASE4'

        AND P.PROJECT_STATUS NOT IN ('¹ÌÈ®ÀÎ', 'ȸ°èÁ¾·á', '°­Á¦Á¾·á', '¼ö±ÝÁ¾·á', 'ºñ¿ëó¸®Á¾·á')

        AND SUBSTR(P.PROJECT_CODE, 5, 1) < 'A'

) A, (

       SELECT  DEPARTMENT_ID                                                                                                                             

                , PARENT_DEPARTMENT_ID                                                                                                                      

                , DEPARTMENT_LEVEL                                                                                                                          

                 , DEPARTMENT_CODE                                                                                                                          

                , DEPARTMENT_NAME                                                                                                                           

                , ALIVE_DATE                                                                                                                                

                , ALIAS_DEPARTMENT_NAME                                                                                                                     

                , SORT                                                                                                                                      

        FROM (

                SELECT  LTRIM(SYS_CONNECT_BY_PATH(DEPARTMENT_NAME, '^'), '^') SYS_DEPT_NM                                                                   

                        , DEPARTMENT_LEVEL                                                                                                                  

                        , DEPARTMENT_CODE                                                                                                                   

                        , DEPARTMENT_ID                                                                                                                     

                        , DEPARTMENT_NAME                                                                                                                   

                        , ALIVE_DATE                                                                                                                        

                        , PARENT_DEPARTMENT_ID                                                                                                              

                        , ALIAS_DEPARTMENT_NAME                                                                                                             

                        , SUBSTR(DEPARTMENT_CODE, 1, 2) || DECODE(SUBSTR(DEPARTMENT_CODE, 3, 4), 'AA', '1', SUBSTR(DEPARTMENT_CODE, 3, 4)) SORT             

                FROM ORGANIZATION                                                                                                                           

                WHERE ALIVE_DATE > SYSDATE                                                                                                                  

                START WITH PARENT_DEPARTMENT_ID IS NULL                                                                                                     

                CONNECT BY PRIOR DEPARTMENT_ID = PARENT_DEPARTMENT_ID

        )

        WHERE PARENT_DEPARTMENT_ID IS NOT NULL

) B

WHERE A.ORG_ID = B.DEPARTMENT_ID

B Å×ÀÌºí¿¡ ´ëÇØ ÀζóÀÎºä ¾È¿¡ ¶Ç ÀζóÀκ並 ¾´ ÀÌÀ¯´Â SYS_DEPT_NM Ä®·³À» ´Ù½Ã °¡°øÇÏ¿©¾ß Çϱ⠶§¹®ÀÔ´Ï´Ù.

Äõ¸® 2)

SELECT B.DEPARTMENT_ID

            , B.PARENT_DEPARTMENT_ID

        , A.ORG_ID

FROM (

        SELECT  P.PROJECT_ID

                , P.ORG_ID

        FROM PROJECT P

        WHERE UPPER(P.PROCESS_TYPE) = 'CASE4'

        AND P.PROJECT_STATUS NOT IN ('¹ÌÈ®ÀÎ', 'ȸ°èÁ¾·á', '°­Á¦Á¾·á', '¼ö±ÝÁ¾·á', 'ºñ¿ëó¸®Á¾·á')

        AND SUBSTR(P.PROJECT_CODE, 5, 1) < 'A'

) A, (

              SELECT  LTRIM(SYS_CONNECT_BY_PATH(DEPARTMENT_NAME, '^'), '^') SYS_DEPT_NM                                                                   

                        , DEPARTMENT_LEVEL                                                                                                                  

                        , DEPARTMENT_CODE                                                                                                                   

                        , DEPARTMENT_ID                                                                                                                     

                        , DEPARTMENT_NAME                                                                                                                   

                        , ALIVE_DATE                                                                                                                        

                        , PARENT_DEPARTMENT_ID                                                                                                              

                        , ALIAS_DEPARTMENT_NAME                                                                                                             

                        , SUBSTR(DEPARTMENT_CODE, 1, 2) || DECODE(SUBSTR(DEPARTMENT_CODE, 3, 4), 'AA', '1', SUBSTR(DEPARTMENT_CODE, 3, 4)) SORT             

                FROM ORGANIZATION                                                                                                                           

                WHERE ALIVE_DATE > SYSDATE                                                                                                                  

                START WITH PARENT_DEPARTMENT_ID IS NULL                                                                                                     

                CONNECT BY PRIOR DEPARTMENT_ID = PARENT_DEPARTMENT_ID

) B

WHERE A.ORG_ID = B.DEPARTMENT_ID

Á¦°¡ Äõ¸® 1), Äõ¸® 2)·Î ³ª´©¾î Å×½ºÆ®ÇØ º» ÀÌÀ¯´Â ÁßøµÇ°Ô ÀζóÀÎ ºä¸¦ »ç¿ëÇÒ °æ¿ì ALIVE_DATE > SYSDATE·Î ÇÊÅ͸µ µÇ¾î ³ª¿Â °á°ú°¡ ´Ù¸£°Ô Ãâ·ÂÀÌ µÇ´Â °ÍÀ» ¹ß°ßÇÏ¿´±â ¶§¹®ÀÔ´Ï´Ù.


ÀζóÀÎ ºä¸¦ ÁßøµÇ°Ô »ç¿ëÇÏÁö ¾ÊÀº Äõ¸®2)ÀÇ °æ¿ì ALIVE_DATE > SYSDATE Á¶°ÇÀÇ °á°ú¿Í ÇÔ²² AÅ×À̺í°ú Á¶ÀÎµÇ¾î ¿øÇÏ´Â °á°ú°¡ Ãâ·ÂµÇÁö¸¸, ÁßøµÇ°Ô »ç¿ëÇÏ¿´À» °æ¿ì¿¡´Â A Å×ÀÌºí¿¡ ÀÖ´Â °ªµé°ú Á¶ÀÎÀÌ µÇ¸é¼­ B Å×ÀÌºí¿¡ ÀÖ´Â ALIVE_DATE > SYSDATE Á¶°ÇÀÌ ¹«½ÃµÈ ä·Î ±¸Á¶Á÷ÀÌ Æ÷ÇÔµÇ¾î ³ª¿Í ¹ö¸®°í À־ ÀÔ´Ï´Ù.


ÀζóÀκ並 ÁßøµÇ°Ô »ç¿ëÇÏ¸é ½ÇÇàÀÇ ¼ø¼­¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â Áö¿ä?

Execution Plan

--------------------------------------------------------------------------------

   0      SELECT STATEMENT Optimizer=ALL_ROWS (Cost=150 Card=1 Bytes=79)

   1    0   HASH JOIN (Cost=150 Card=1 Bytes=79)

   2    1     TABLE ACCESS (FULL) OF 'PROJECT' (TABLE) (Cost=128 Card=1 Bytes=36)

   3    1     VIEW (Cost=21 Card=3 Bytes=129)

   4    3       CONNECT BY (WITH FILTERING)

   5    4         TABLE ACCESS (FULL) OF 'ORGANIZATION' (TABLE) (Cost=21 Card=6 Bytes=228)

   6    4         HASH JOIN

   7    6           CONNECT BY PUMP

   8    6           TABLE ACCESS (FULL) OF 'ORGANIZATION' (TABLE) (Cost=21 Card=3 Bytes=60)

   9    4         TABLE ACCESS (FULL) OF 'ORGANIZATION' (TABLE) (Cost=22 Card=3K Bytes=83K)

ÀÚ¼¼ÇÑ ´äº¯ÀÌ Èûµé´Ù¸é, À§ ½ÇÇà°èȹ ºÐ¼®¸¸ÀÌ¶óµµ Á¶¾ð ºÎʵ右´Ï´Ù. ½ÇÇà°èȹ¿¡ ´ëÇÑ ºÐ¼® ´É·ÂÀÌ Âª´Ùº¸´Ï...

À§ »çÇ׿¡ ´ëÇÑ ¹®Á¦ ÇØ°áÀº ÁßøµÈ ÀζóÀκäÀÇ ¹Ù±ùÂÊ¿¡ WHERE PARENT_DEPARTMENT_ID IS NOT NULL and alive_date > sysdate¸¦ Çѹø ´õ Ãß°¡ÇØ ÁÜÀ¸·Î½á ÇØ°áÀº ÇßÁö¸¸, ÀÌ ±âȸ¿¡ ÀζóÀÎ ºä »ç¿ë ¿ø¸®¿¡ ´ëÇÑ ÀÌÇØ¸¦ Á¦´ë·Î ¾ò°í ½Í½À´Ï´Ù.

   
   
 
  °ü·Ã±Û
ÀζóÀÎºä »ç¿ë ½Ã Äõ¸®½ÇÇà ¼ø¼­¿¡ ´ëÇÑ Á¶¾ð ºÎʵ右´Ï...
ÀζóÀÎºä »ç¿ë ½Ã Äõ¸®½ÇÇà ¼ø¼­¿¡ ´ëÇÑ Á¶¾ð ºÎʵ右...[2]
  ÀÌÀü±Û Insert ½Ã rowÀÇ °¹¼ö Á¦ÇÑ ...
  ´ÙÀ½±Û blob ŸÀÔÀÇ export/ imp...