¹®Á¦Á¡ ÇØ°á ¿ä¾à Å×À̺í

ÀüÁ¦Á¶°Ç

DB2EXPLAINÀ» »ç¿ëÇÏ¿© DB2°¡ ¿ä¾à Å×À̺íÀ» »ç¿ëÇϰí ÀÖ´ÂÁö È®ÀÎÇϱâ Àü¿¡ ´ÙÀ½À» ¼öÇàÇØ¾ß ÇÕ´Ï´Ù.

ÀýÂ÷

DB2EXPLAINÀ» »ç¿ëÇÏ¿© DB2°¡ ¿ä¾à Å×À̺íÀ» »ç¿ëÇϰí ÀÖ´ÂÁö È®ÀÎÇÏ·Á¸é ´ÙÀ½À» ¼öÇàÇϽʽÿÀ.

  1. Explain Å×À̺íÀ» ÀÛ¼ºÇϽʽÿÀ. µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ Explain Å×À̺íÀ» ¼³Á¤ÇÏ·Á¸é µ¥ÀÌÅͺ£À̽º¿¡ ¿¬°áÇÑ ´ÙÀ½ \SQLLIB\misc µð·ºÅ丮¿¡¼­ ´ÙÀ½ ¸í·ÉÀ» ½ÇÇàÇϽʽÿÀ.
    db2 -tvf explain.ddl
    
  2. Explain ±â´ÉÀ» ½ÇÇàÇϽʽÿÀ. Explain ¸ðµå°¡ ÄÑÁ® ÀÖÀ¸¸é, SQL Äõ¸®°¡ ½ÇÇàµÇÁö ¾Ê°í Explain ¸í·É¿¡ ´ëÇÑ Á¤º¸ ¿äû ¸¸ÀÌ Ã³¸®µË´Ï´Ù. ´ÙÀ½ ÀÏ·ÃÀÇ SQL ¸í·ÉÀ» ½ÇÇàÇÏ¿© Explain ¸ðµå¸¦ ÄѰí, »õ·Î °íħ À¯È¿ ±â°£À» ¼³Á¤ÇÏ¿© ¿ä¾à Å×À̺íÀÌ Áö¿¬ »õ·Î °íħÀÎ °æ¿ì DB2°¡ ¿ä¾à Å×À̺íÀ» °í·ÁÇϵµ·Ï Çϰí, Äõ¸®¸¦ ½ÇÇà½Ã۰í, Explain ¸ðµå¸¦ ²ö ´ÙÀ½ Explain Å×À̺íÀ» Äõ¸®ÇÏ¿© Äõ¸®ÀÇ °æ·Î°¡ Àç¼³Á¤µÇ¾ú´ÂÁö È®ÀÎÇϽʽÿÀ.
    set current explain mode explain
     
    set current refresh age any
     
    SELECT SUM(SALES) FROM MDSAMPLE.SALESFACT
     
    set current explain mode no
     
    SELECT EXPLAIN_TIME, EXPLAIN_LEVEL AS "LEV", 
        QUERYNO, STATEMENT_TEXT 
    FROM EXPLAIN_STATEMENT 
    WHERE STATEMENT_TEXT LIKE '%SALESFACT%'
    ORDER BY EXPLAIN_TIME
     
    
  3. Á¤º¸¸¦ º¸°í ExplainÇÑ ´ÙÀ½ ÀçÀÛ¼ºµÈ Äõ¸®°¡ ¿ä¾à Å×À̺í·Î °æ·Î°¡ ÀçÁöÁ¤µÇ´ÂÁö °Ë»çÇϽʽÿÀ. ¿¹¸¦ µé¸é, ´ÙÀ½ »ùÇðú °°Àº º¸°í¼­¸¦ º¼ ¼öµµ ÀÖ½À´Ï´Ù.
    2002-06-30-23.22.12.325002 O   11 SELECT SUM(SALES) 
      FROM MDSAMPLE.SALESFACT
    2002-06-30-23.22.12.325002 P   11 SELECT Q3.$C0 
      FROM (SELECT SUM(Q2.$C0) FROM (SELECT Q1.SALESFACT_SALES 
      FROM DB2INFO.MQT0000000021T01 AS Q1) AS Q2) AS Q3
    

    ÇÑ ¹øÀÇ Äõ¸® ½ÇÇà¿¡ ´ëÇØ µÎ °³ÀÇ ¶óÀÎÀÌ ÀÖ½À´Ï´Ù. OÀ¸·Î Ç¥½ÃµÈ ¶óÀÎÀº DB2·Î Àü¼ÛµÇ´Â ¿ø·¡ÀÇ Äõ¸®ÀÔ´Ï´Ù. P·Î Ç¥½ÃµÈ ¶óÀÎÀº DB2¿¡ ÀÇÇØ ÀçÀÛ¼ºµÈ Äõ¸®ÀÔ´Ï´Ù. ÀÌ ¿¹Á¦ÀÇ ÀçÀÛ¼ºµÈ Äõ¸®¿¡¼­ DB2°¡ DB2INFO.MQT0000000021T01 ¿ä¾à Å×ÀÌºí¿¡¼­ µ¥ÀÌÅ͸¦ ¼±ÅÃÇÏ´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.

  4. Äõ¸®°¡ ¿ä¾à Å×À̺í·Î °æ·Î°¡ ÀçÁöÁ¤µÇ¸é, ´Ù¸¥ ¿É¼ÇÀ¸·Î ÃÖÀûÈ­ ¾îµå¹ÙÀÌÀú ¸¶¹ý»ç¸¦ ½ÇÇàÇØ¾ß ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.
  5. Äõ¸®°¡ ¿ä¾à Å×À̺í·Î °æ·Î°¡ ÀçÁöÁ¤µÇÁö ¾ÊÀ¸¸é ÀÌÀ¯¸¦ ÆÇº°ÇÏ¿© ÀûÀýÇÑ Á¶Ä¡¸¦ ÃëÇϽʽÿÀ. Äõ¸®°¡ ¿ä¾à Å×À̺í·Î °æ·Î°¡ ÀçÁöÁ¤µÇÁö ¾Ê´Â ÀÌÀ¯¿¡´Â ´ÙÀ½ÀÌ Æ÷ÇԵ˴ϴÙ.

¿ä¾à Å×À̺íÀÌ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù.
¸ÕÀú ¿ä¾à Å×À̺íÀÌ Á¸ÀçÇÏ´ÂÁö È®ÀÎÇϽʽÿÀ. ¸¸¾à Á¸ÀçÇÏÁö ¾ÊÀ¸¸é ÃÖÀûÈ­ ¾îµå¹ÙÀÌÀú ¸¶¹ý»ç¸¦ ½ÇÇàÇÏ¿© ¿ä¾à Å×À̺í ÀÛ¼º SQL ½ºÅ©¸³Æ®¸¦ ÀÛ¼ºÇϽʽÿÀ. ±× ´ÙÀ½ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© ¿ä¾à Å×À̺íÀ» ÀÛ¼ºÇϽʽÿÀ.

Áö¿¬ »õ·Î °íħ ¿ä¾à Å×À̺íÀÌ ¸¸·áµÇ¾ú½À´Ï´Ù.
¿ä¾à Å×À̺íÀÌ Á¸ÀçÇÏ°í ¿ä¾à Å×À̺íÀ» Áö¿¬ »õ·Î °íħÀ¸·Î ¼³Á¤ÇÏ¸é »õ·Î °íħ À¯È¿ ±â°£À» ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÒ ¼ö ÀÖ½À´Ï´Ù. (DFT_REFRESH_AGE) = 99999999999999·Î ¼³Á¤ÇÏ¿© Å×À̺íÀÇ »õ·Î °íħ À¯È¿ ±â°£À» °¡´ÉÇÑ ±æ°Ô ±×¸®°í ¼¼¼ÇÀ» µ¶¸³ÀûÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

Äõ¸®°¡ ¿ä¾à Å×ÀÌºí¿¡ Æ÷ÇԵǾî ÀÖÁö ¾ÊÀº µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÕ´Ï´Ù.
»ç¿ëÀÚÀÇ Äõ¸®°¡ ¿ä¾à Å×ÀÌºí¿¡ ¾ø´Â µ¥ÀÌÅ͸¦ ¾×¼¼½ºÇÏ´Â °æ¿ì, DB2´Â Äõ¸®ÀÇ °æ·Î¸¦ ÀçÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ¿ä¾à Å×À̺í ÀÛ¼º ÈÄ¿¡ »õ·Î¿î Ä¡¼ö¸¦ Ãß°¡ÇÏ¸é ±× »õ·Î¿î Ä¡¼ö´Â ¿ä¾à Å×ÀÌºí¿¡ Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. »õ·Î¿î Ä¡¼öÀÇ Äõ¸®¸¦ ½ÃµµÇÏ¸é ¿ä¾à Å×ÀÌºí¿¡ Äõ¸®¸¦ ¸¸Á·½ÃŰ´Â ¸ðµç µ¥ÀÌÅͰ¡ Æ÷ÇԵǾî ÀÖÁö ¾Ê±â ¶§¹®¿¡ DB2°¡ Äõ¸®¸¦ ¿ä¾à Å×À̺í·Î °æ·Î¸¦ ÀçÁöÁ¤ÇÏÁö ¾Ê½À´Ï´Ù. ¶ÇÇÑ ¿ä¾à Å×À̺íÀÌ ºôµåµÈ Å¥ºê ¸ðµ¨ ½½¶óÀ̽º ¾Æ·¡¿¡ ÀÖ´Â µ¥ÀÌÅÍ Äõ¸®¸¦ ½ÃµµÇÏ¸é ¿ä¾à Å×À̺íÀ» »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù.

Äõ¸®¿¡ °æ·Î¸¦ ÀçÁöÁ¤ÇÒ ¼ö ¾ø´Â ±¸¼ºÀÌ Æ÷ÇԵǾî ÀÖ½À´Ï´Ù.
DB2°¡ ÀϺΠº¹ÀâÇÑ Äõ¸® ±¸Á¶¸¦ »ç¿ëÇÏ´Â Äõ¸®ÀÇ °æ·Î¸¦ ÀçÁöÁ¤ÇÒ ¼ö ¾ø½À´Ï´Ù. DB2°¡ Äõ¸®ÀÇ °æ·Î¸¦ ÀçÁöÁ¤ÇÏ´Â °ÍÀ» ¹æÇØÇÏ´Â º¹ÀâÇÑ ÀϺΠ±¸Á¶´Â ´ÙÀ½°ú °°Àº ¹Ýº¹ ¹× ¹°¸®Àû Ư¼ºÀÇ ÇÔ¼öÀÔ´Ï´Ù.

.