튜닝관련 주관식 문제를 내 보았습니다.

h4.1.문제SQL


SELECT EX1_arrt1,
       EX1_arrt2,
       EX1_arrt3,
       EX1_arrt4,
       EX1_arrt5,
       EX1_arrt6,
       EX2_arrt1,
       EX2_arrt2,
       EX2_arrt3,
       EX3_arrt4,
       EX3_arrt5,
       EX3_arrt6,
       EXAMPLE_QTY1,
       EXAMPLE_QTY2,
       EXAMPLE_QTY3,
       (EXAMPLE_QTY1 + EXAMPLE_QTY2 + EXAMPLE_QTY3) SUM_QTY       
  FROM (SELECT EX1.Attribute1  EX1_attr1,
               EX1.Attribute2  EX1_attr2,
               EX1.Attribute3  EX1_attr3,
               EX1.Attribute4  EX1_attr4,
               EX1.Attribute5  EX1_attr5,
               EX1.Attribute6  EX1_attr6,
               EX2.Attribute1  EX2_attr1,
               EX2.Attribute2  EX2_attr2,
               EX2.Attribute3  EX2_attr3,
               EX3.Attribute4  EX3_attr4,
               EX3.Attribute5  EX3_attr5,
               EX3.Attribute6  EX3_attr6,
               EX1.QTY * (SELECT SQLP_PKG.EXAMPLE_QTY1(EX1.colum2
                                                       ,EX2.colum3
                                                       ,NULL
                                                       ,EX1.colum3
                                                       )
                  					FROM DUAL) EXAMPLE_QTY1,
               EX2.QTY * (SELECT SQLP_PKG.EXAMPLE_QTY1(EX1.colum2
                                                       ,EX2.colum3
                                                       ,NULL
                                                       ,EX1.colum3
                                                       )
                  					FROM DUAL) EXAMPLE_QTY1,
               EX3.QTY * (SELECT SQLP_PKG.EXAMPLE_QTY1(EX1.colum2
                                                       ,EX2.colum3
                                                       ,NULL
                                                       ,EX1.colum3
                                                       )
                  					FROM DUAL) EXAMPLE_QTY1
          FROM EX_SMAPLE1 EX1,
               EX_SMAPLE2 EX2,
               EX_SMAPLE3 EX3,
         WHERE EX1.colum1 = EX2.colum1
           AND EX1.colum1 = EX3.colum1
           AND EX1.Creation Date BETWEEN TO_DATE(:B3, 'YYYYMMDD HH24:MI:SS')
                                     AND TO_DATE(:B4, 'YYYYMMDD HH24:MI:SS') + 0.99999
         ) IV1,
       EX_JOIN_TBL1 EJT1,
       EX_JOIN_TBL2 EJT2
 WHERE 1 = 1
   AND IV1.Attribute1 = EJT1.Attribute1
   AND EJT1.colum1 = EJT2.colum2
 ORDER BY EX1_attr1,
          EX2_attr1

IV1 Inline View안에서 Group By전 데이터는 약 1천건을 읽게 되며, 추후 EJT1과 EJT2를 거쳐 최종 데이터는 약 10여건으로
줄어 들게 되어 든다고 되었을 때
위의 SQL에서 성능적인 관점에서 어떠한 문제점이 존재하며 어떻게 문제점을 해결할 것인가?

h4.2.성능 측면에서 아래 프로그램이 가진 문제점을 나열하고, 각 문제점에 대한 개선 방안을 간단히 요약하시오. 또한, 최적의 성능을 내도록 하나의 SQL문장으로 작성하시오.