¼±ÅÃµÈ ½Ã½ºÅÛ Ä«Å»·Î±× Åë°è¸¦ °»½ÅÇÒ ¼ö ÀÖ´Â ´É·ÂÀ» »ç¿ëÇÏ¿© ´ÙÀ½°ú °°Àº ÀÛ¾÷À» ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ÇØ´ç Á¶È¸¿¡ ´ëÇÑ ÃÖÀûÀÇ ¾×¼¼½º Ç÷£À» ã´Â µ¥ Àå¾Ö°¡ µÇ¹Ç·Î Çö¾÷ ½Ã½ºÅÛ¿¡¼´Â Åë°è¸¦ °»½ÅÇØ¼´Â ¾ÈµË´Ï´Ù.
ÀÌ·¯ÇÑ Åë°è¿¡ »ç¿ëµÇ´Â Ä÷³ÀÇ °ªÀ» °»½ÅÇÏ·Á¸é, SYSSTAT ½ºÅ°¸¶¿¡ Á¤ÀǵǾî ÀÖ´Â ºä¿¡ ´ëÇÏ¿© SQL UPDATE¹®À» »ç¿ëÇϽʽÿÀ. ´ÙÀ½°ú °°Àº °æ¿ì¿¡ Åë°è¸¦ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶ÇÇÑ »ç¿ëÀÚ ID°¡ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÏ¿© ¸í½ÃÀûÀÎ DBADM ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °æ¿ì, Áï SYSCAT.DBAUTH Å×ÀÌºí¿¡ DBADM ±ÇÇÑÀ» °¡Áö°í ÀÖ´Â °ÍÀ¸·Î ±â·ÏµÇ¾î ÀÖ´Â °æ¿ì, ÀÌ·¯ÇÑ Åë°è¸¦ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÜÁö, DBADM ±×·ì¿¡ ¼ÓÇØ ÀÖ´Â °Í¸¸À¸·Î´Â ÀÌ ±ÇÇÑÀ» ¸í½ÃÀûÀ¸·Î Á¦°øÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù.
ÀÌ·¯ÇÑ ºä¸¦ »ç¿ëÇÏ¿© DBADMÀº ¸ðµç »ç¿ëÀÚ¿¡ ´ëÇÑ Åë°è ÇàÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. DBADM ±ÇÇÑÀ» °¡Áö°í ÀÖÁö ¾ÊÀº »ç¿ëÀÚ´Â CONTROL Ư±ÇÀÌ ºÎ¿©µÈ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Åë°è¸¦ °¡Áö°í ÀÖ´Â ÇุÀ» º¼ ¼ö ÀÖ½À´Ï´Ù.
´ÙÀ½¿¡¼´Â EMPLOYEE Å×ÀÌºí¿¡ ´ëÇÑ Å×À̺í Åë°è °»½ÅÀÇ ¿¹¸¦ º¸¿©ÁÝ´Ï´Ù.
UPDATE SYSSTAT.TABLES SET CARD = 10000, NPAGES = 1000, FPAGES = 1000, OVERFLOW = 2 WHERE TABSCHEMA = 'userid' AND TABNAME = 'EMPLOYEE'
īŻ·Î±× Åë°è¸¦ °»½ÅÇÒ ¶§¿¡´Â ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÕ´Ï´Ù. ÀÓÀÇ·Î ¼öÇàµÇ´Â °»½Å ÀÛ¾÷Àº ÀÌÈÄÀÇ Á¶È¸ ¼º´É¿¡ ½É°¢ÇÑ ¿µÇâÀ» ¹ÌÄ¥ ¼öµµ ÀÖ½À´Ï´Ù. ´ÙÀ½°ú °°Àº ¹æ¹ýÀ» »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ Å×ÀÌºí¿¡ Àû¿ëÇÑ °»½ÅÀ» ´ëüÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÀϺΠ°æ¿ì, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº Ư¼öÇÑ Åë°è°ªÀ̳ª °ªÀÇ Á¶ÇÕÀÌ À¯È¿ÇÏÁö ¾Ê´Ù°í ÆÇÁ¤Çϰí, ±âº»°ªÀ» »ç¿ëÇÏ°í °æ°í¸¦ ¹ßÇàÇÕ´Ï´Ù. ±×·¯³ª, Åë°è¸¦ °»½ÅÇÒ ¶§ ´ëºÎºÐÀÇ À¯È¿¼º È®ÀÎ ÀÛ¾÷ÀÌ ¼öÇàµÇ¹Ç·Î, ÀÌ·¯ÇÑ »óȲÀÌ ¹ß»ýÇÏ´Â °ÍÀº ÈçÇÏÁö ¾Ê½À´Ï´Ù.
Ãß°¡ Á¤º¸: īŻ·Î±× Åë°è °»½Å¿¡ °üÇÑ Á¤º¸´Â ´ÙÀ½À» ÂüÁ¶ÇϽʽÿÀ.
īŻ·Î±× Åë°è¸¦ °»½ÅÇÒ ¶§, °¡Àå Áß¿äÇÑ ÀÏ¹Ý ±ÔÄ¢Àº ¿©·¯ Åë°èÀÇ À¯È¿ °ª, ¹üÀ§, Çü½ÄÀ» Åë°è ºä¿¡ ÀúÀåÇØ¾ß ÇÑ´Ù´Â Á¡ÀÔ´Ï´Ù. ¶ÇÇÑ ´Ù¾çÇÑ Åë°è°£ÀÇ °ü°èÀÇ Àϰü¼ºÀ» À¯ÁöÇÏ´Â °Íµµ Áß¿äÇÕ´Ï´Ù.
¿¹¸¦ µé¾î, SYSSTAT.COLUMNSÀÇ COLCARD´Â SYSSTAT.TABLESÀÇ CARD(Ä÷³ÀÇ ±¸º° °ªÀº Çà ¼öµµ Ŭ ¼ö ¾øÀ½)º¸´Ù Àû¾î¾ß ÇÕ´Ï´Ù. COLCARD¸¦ 100¿¡¼ 2·Î ÁÙÀ̰í, CARD¸¦ 200¿¡¼ 50À¸·Î ÁÙÀÎ´Ù°í °¡Á¤ÇϽʽÿÀ. SYSCAT.TABLESÀ» ¸ÕÀú °»½ÅÇÒ °æ¿ì, ¿À·ù°¡ ¹ß»ýÇÕ´Ï´Ù(CARD´Â COLCARDº¸´Ù Àû¾î¾ß ÇϹǷÎ). ¿Ã¹Ù¸¥ ¼ø¼´Â SYSCAT.COLUMNSÀÇ CARD¸¦ ¸ÕÀú °»½ÅÇÑ ´ÙÀ½, SYSSTAT.TABLESÀÇ CARD¸¦ °»½ÅÇÏ´Â °ÍÀÔ´Ï´Ù. COLCARD¸¦ 100¿¡¼ 250À¸·Î Áõ°¡½Ã۰í, CARD¸¦ 200¿¡¼ 300À¸·Î Áõ°¡½ÃŰ´Â °æ¿ì ¹Ý´ëÀÇ »óȲÀÌ ¿¬ÃâµË´Ï´Ù. ÀÌ °æ¿ì, CARD¸¦ ¸ÕÀú °»½ÅÇÑ ´ÙÀ½ COLCARD¸¦ °»½ÅÇØ¾ß ÇÕ´Ï´Ù.
°»½ÅµÈ Åë°è¿Í ´Ù¸¥ Åë°è°£¿¡ Ãæµ¹ÀÌ ¹ß»ýÇÒ °æ¿ì, ¿À·ù°¡ Ç¥½ÃµË´Ï´Ù. ±×·¯³ª, Ãæµ¹ÀÌ ¹ß»ýÇÒ ¶§¸¶´Ù ¿À·ù°¡ ¹ß»ýÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. ÀϺΠ°æ¿ì, ƯÈ÷ °ü·ÃµÈ µÎ Åë°è°¡ ¼·Î ´Ù¸¥ īŻ·Î±×¿¡ ÀÖÀ» °æ¿ì¿¡´Â Ãæµ¹À» ŽÁöÇϱ⠾î·Á¿ì¸ç ¿À·ù·Î º¸°íÇϱ⵵ Èûµì´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î, Ãæµ¹À» ÀÏÀ¸Å°Áö ¾Êµµ·Ï ÁÖÀÇÇØ¾ß ÇÕ´Ï´Ù.
īŻ·Î±× Åë°è¸¦ °»½ÅÇϱâ Àü¿¡ °ËÅäÇØ¾ß ÇÒ °¡Àå ÀϹÝÀûÀÎ »çÇ×Àº ´ÙÀ½°ú °°½À´Ï´Ù.
ÁÖ: | Çà À¯ÇüÀÇ °æ¿ì, Å×ÀÌºí ·¹º§ Åë°è NPAGES, FPAGES ¹× OVERFLOW´Â ¼ºêÅ×À̺í¿ëÀ¸·Î´Â °»½Å °¡´ÉÇÏÁö ¾Ê½À´Ï´Ù. |
SYSTAT.TABLES¿¡¼´Â ³× °¡ÁöÀÇ Åë°è °ª(CARD, FPAGES, NPAGES ¹× OVERFLOW)¸¸À» °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ´ÙÀ½ »çÇ×À» À¯ÀÇÇϽʽÿÀ.
¿¬ÇÕ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ ³»¿¡¼ ÀÛ¾÷ÇÒ ¶§, ¿ø°Ý ºä¸¦ ÅëÇØ ¼öµ¿À¸·Î º°¸í¿¡ ´ëÇÑ Åë°è¸¦ Á¦°ø/°»½ÅÇÒ °æ¿ì¿¡´Â ÁÖÀǸ¦ ±â¿ï¿©¾ß ÇÕ´Ï´Ù. ÀÌ º°¸íÀÌ ¸®ÅÏÇÏ´Â Çà ¼ö¿Í °°Àº Åë°è Á¤º¸´Â ÀÌ ¿ø°Ý ºä¸¦ Æò°¡ÇÏ´Â µ¥ ÇÊ¿äÇÑ ½ÇÁ¦ ºñ¿ëÀ» ¹Ý¿µÇÏÁö ¾ÊÀ» ¼öµµ ÀÖÀ¸¹Ç·Î, ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ À߸øµÈ ÆÇ´ÜÀ» ³»¸®°Ô ÇÒ ¼ö ÀÖ½À´Ï´Ù. Åë°è °»½ÅÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Â °æ¿ì·Î´Â SELECT ¸ñ·Ï¿¡ Àû¿ëµÇ´Â Ä÷³ ÇÔ¼ö°¡ ¾ø´Â ÇϳªÀÇ ±âº» Å×ÀÌºí¿¡ Á¤ÀÇµÈ ¿ø°Ý ºä°¡ Æ÷ÇԵ˴ϴÙ. º¹ÀâÇÑ ºä¿¡´Â °¢ Á¶È¸¸¦ Á¶Á¤ÇØ¾ß ÇÏ´Â º¹ÀâÇÑ Á¶Á¤ ÇÁ·Î¼¼½º°¡ ÇÊ¿äÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×º¸´Ù´Â DB2 ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ºä¿¡ ´ëÇÑ ºñ¿ëÀ» Á»´õ Á¤È®È÷ °è»êÇÏ´Â ¹æ¹ýÀ» ÇÒ ¼ö ÀÖµµ·Ï º°¸íÀ» ÅëÇØ Áö¿ª ºä¸¦ ÀÛ¼ºÇÏ´Â °ÍÀ» °í·ÁÇØ º¸½Ê½Ã¿À.
SYSSTAT.COLUMNS Åë°è¸¦ °»½ÅÇÒ ¶§´Â ´ÙÀ½ ÁöħÀ» µû¸£½Ê½Ã¿À. Ä÷³ ºÐ»ê Åë°è¿¡ °üÇÑ ¼¼ºÎ»çÇ×Àº Ä÷³¿¡ ´ëÇÑ ºÐ»ê Åë°è °»½Å ±ÔÄ¢¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
»ç¿ëÀÚ°¡ °»½ÅÇÒ ¼ö Àִ īŻ·Î±× Åë°è¿¡¼´Â īŻ·Î±× Åë°è¸¦ °»½ÅÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ÀÏ¹Ý Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù. Ä÷³ ºÐ»ê Åë°è¸¦ °»½ÅÀ» ½ÃµµÇϱâ Àü¿¡ ÇØ´ç ÀýÀ» ÂüÁ¶ÇϰíÀÚ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
īŻ·Î±×ÀÇ ¸ðµç Åë°è¿¡ Àϰü¼ºÀ» À¯ÁöÇϱâ À§Çؼ´Â, ºÐ»ê Åë°è¸¦ °»½ÅÇÒ ¶§, ½ÅÁßÇØ¾ß ÇÕ´Ï´Ù. ƯÈ÷, °¢°¢ÀÇ Ä÷³¿¡ ´ëÇØ, ºóµµ°ª Åë°è ¹× quantile¿¡ ´ëÇÑ Ä«Å»·Î±× ÀÔ·ÂÇ׸ñÀº ´ÙÀ½°ú °°Àº Á¦ÇÑÁ¶°ÇÀ» ÃæÁ·ÇØ¾ß ÇÕ´Ï´Ù.
"R" ÇàÀ» °¡Áö°í ÀÖ´Â Ä÷³ C1¿¡ ´ëÇÏ¿© ºÐ»ê Åë°è°¡ °¡´ÉÇϰí, "(F x R)" ÇàÀ» °®´Â »ó´ëÀûÀ¸·Î °°Àº ºñÀ²ÀÇ µ¥ÀÌÅÍ °ªÀ» °®´Â Ä÷³¿¡ ´ëÀÀÇϱâ À§ÇÏ¿© Åë°è¸¦ º¯°æÇϰíÀÚ ÇÑ´Ù°í °¡Á¤ÇϽʽÿÀ. F Àμö¸¦ »ç¿ëÇÏ¿© ºóµµ°ª Åë°èÀÇ ±Ô¸ð¸¦ Áõ°¡½Ã۱â À§ÇØ, VALCOUNT Ä÷³ÀÇ °¢°¢ÀÇ ÀÔ·ÂÇ׸ñ¿¡ F¸¦ °öÇØ¾ß ÇÕ´Ï´Ù. ¸¶Âù°¡Áö·Î, F Àμö¸¦ »ç¿ëÇÏ¿© quantileÀÇ ±Ô¸ð¸¦ ´Ã¸®·Á¸é, VALCOUNT Ä÷³ÀÇ °¢ Ç׸ñ¿¡ F¸¦ °öÇØ¾ß ÇÕ´Ï´Ù. ÀÌ ±ÔÄ¢À» µû¸£Áö ¾ÊÀ¸¸é, ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ À߸øµÈ Àμö¸¦ »ç¿ëÇϹǷΠÁ¶È¸¸¦ ¼öÇàÇÒ ¶§ ¿¹±âÄ¡ ¾ÊÀº ¼º´É»óÀÇ ¹®Á¦Á¡ÀÌ ¹ß»ýÇÒ ¼ö ÀÖ½À´Ï´Ù.
SYSSTAT.INDEXESÀÇ Åë°è¸¦ °»½ÅÇÒ ¶§¿¡´Â ´ÙÀ½ ±ÔÄ¢À» µû¸£½Ê½Ã¿À.
À¯È¿ÇÑ PAGE_FETCH_UPDATE´Â ´ÙÀ½°ú °°½À´Ï´Ù.
PAGE_FETCH_PAIRS = '100 380 120 360 140 340 160 330 180 320 200 310 220 305 240 300 260 300 280 300 300 300'
¿©±â¼,
NPAGES = 300 CARD = 10000 CLUSTERRATIO = -1 CLUSTERFACTOR = 0.9
FIRSTKEYCARD <= FIRST2KEYCARD <= FIRST3KEYCARD <= FIRST4KEYCARD <= FULLKEYCARD <= CARD
SYSSTAT.FUNCTIONS īŻ·Î±× ºä¸¦ »ç¿ëÇÏ¿© »ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö(UDF)¿¡ ´ëÇÑ Åë°è¸¦ °»½ÅÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ Åë°è¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù¸é, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº À̸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ ¾×¼¼½º Ç÷£¿¡ ´ëÇÑ ºñ¿ëÀ» ÃßÁ¤ÇÕ´Ï´Ù. Åë°è¸¦ ±¸ÇÒ ¼ö ¾ø´Â °æ¿ì Åë°è Ä÷³ÀÇ °ªÀº -1ÀÌ µÇ¸ç, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº °£´ÜÇÑ UDF¸¦ °¡Á¤ÇÏ´Â ±âº»°ªÀ» »ç¿ëÇÏ°Ô µË´Ï´Ù.
´ÙÀ½ Ç¥¿¡¼´Â UDF¿¡ ´ëÇÏ¿© °»½ÅÇÒ ¼ö ÀÖ´Â Åë°è Ä÷³¿¡ °üÇÑ Á¤º¸¸¦ Á¦°øÇÕ´Ï´Ù.
Ç¥ 48. ÇÔ¼ö Åë°è(SYSCAT.FUNCTIONS ¹× SYSSTAT.FUNCTIONS)
Åë°è | ¼³¸í |
---|---|
IOS_PER_INVOC | ÇÔ¼ö°¡ ½ÇÇàµÉ ¶§¸¶´Ù ½ÇÇàµÈ Àбâ/¾²±â ¿äûÀÇ ¿¹»ó ¼ö |
INSTS_PER_INVOC | ÇÔ¼ö°¡ ½ÇÇàµÉ ¶§¸¶´Ù ½ÇÇàµÈ ¸Ó½Å ¸í·ÉÀÇ ¿¹»ó ¼ö |
IOS_PER_ARGBYTE | ÀÔ·Â Àμö ¹ÙÀÌÆ®¸¶´Ù ½ÇÇàµÈ Àбâ/¾²±â ¿äûÀÇ ¿¹»ó ¼ö |
INSTS_PER_ARGBYTES | ÀÔ·Â Àμö ¹ÙÀÌÆ®¸¶´Ù ½ÇÇàµÈ ¸Ó½Å ¸í·ÉÀÇ ¿¹»ó ¼ö |
PERCENT_ARGBYTES | ÇÔ¼ö°¡ ½ÇÁ¦·Î ó¸®ÇÏ´Â ÀÔ·Â Àμö ¹ÙÀÌÆ®ÀÇ ¿¹»ó Æò±Õ ¹éºÐÀ² |
INITIAL_IOS | ÇÔ¼ö°¡ óÀ½ È£ÃâµÉ ¶§¿Í ¸¶Áö¸·À¸·Î È£ÃâµÉ ½Ã°£¿¡¸¸ ½ÇÇàµÈ Àбâ/¾²±â ¿äûÀÇ ¿¹»ó ¼ö |
INITIAL_INSTS | ÇÔ¼ö°¡ óÀ½ È£ÃâµÉ ¶§¿Í ¸¶Áö¸·À¸·Î È£ÃâµÉ ½Ã°£¿¡¸¸ ½ÇÇàµÈ ¸Ó½Å ¸í·ÉÀÇ ¿¹»ó ¼ö |
CARDINALITY | Å×À̺í ÇÔ¼ö¿¡ ÀÇÇØ »ý¼ºµÈ ÇàÀÇ ¿¹»ó ¼ö |
¿¹¸¦ µé¾î, ¹Ì±¹ÀÎÀÇ ±¸µÎ Å©±â¸¦ ±×¿¡ ´ëÀÀÇÏ´Â À¯·´ÀÎÀÇ ±¸µÎ Å©±â·Î º¯È¯ÇÏ´Â UDF(EU_SHOE)¸¦ °í·ÁÇØ º¸½Ê½Ã¿À(µÎ ±¸µÎ Å©±â´Â UDTÀÏ ¼ö ÀÖ½À´Ï´Ù). ÀÌ UDF¿¡ ´ëÇØ¼´Â ´ÙÀ½°ú °°ÀÌ Åë°è Ä÷³À» ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù.
PERCENT_ARGBYTES´Â Àüü ÀÔ·Â ¹®ÀÚ¿À» Ç×»ó ó¸®ÇÏÁö´Â ¾Ê´Â ÇÔ¼ö¿¡ ÀÇÇØ »ç¿ëµË´Ï´Ù. ¿¹¸¦ µé¾î, UDF(LOCATE)¸¦ »ý°¢Çϴµ¥, À̰ÍÀº µÎ Àμö ÀÔ·ÂÀ» ½ÂÀÎÇÏ¿© µÎ¹øÂ° Àμö ¾È¿¡ ù¹øÂ° Àμö°¡ ¸ÕÀú ¹ß»ýÇÏ´Â ½ÃÀÛ À§Ä¡¸¦ ¸®ÅÏÇÕ´Ï´Ù. ù¹øÂ° Àμö ±æÀ̰¡ ª¾Æ¼ µÎ¹øÂ° Àμö¿Í °ü·ÃÀÌ °ÅÀÇ ¾ø°Ô µÇ°í, Æò±ÕÀûÀ¸·Î µÎ¹øÂ° ÀμöÀÇ 75ÆÛ¼¾Æ®°¡ Ž»öµÇ´Â °æ¿ì¸¦ °¡Á¤ÇÕ´Ï´Ù. ÀÌ Á¤º¸¿¡ ±Ù°ÅÇÏ¿©, PERCENT_ARGBYTES´Â 75·Î ¼³Á¤µÇ¾î¾ß ÇÕ´Ï´Ù. 75ÆÛ¼¾Æ®¶ó´Â Æò±Õ°ªÀº ´ÙÀ½°ú °°Àº Ãß°¡ °¡Á¤À» ±Ù°Å·Î ÇÕ´Ï´Ù.
INITIAL_INSTS ¶Ç´Â INITIAL_IOS¸¦ »ç¿ëÇÏ¿© ÇÔ¼ö°¡ È£ÃâµÈ óÀ½ ½Ã°£À̳ª ¸¶Áö¸· ½Ã°£¿¡¸¸ ½ÇÇàµÇ´Â ¸Ó½Å ¸í·ÉÀÇ ¿¹»ó ¼ö ¶Ç´Â Àбâ/¾²±â ¿äûÀÇ ¿¹»ó ¼ö¸¦ ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î, À̰ÍÀ» »ç¿ëÇÏ¿© Àӽà ÀúÀå¿ë ±â¾ï Àå¼Ò ¿µ¿ªÀ» ¼³Á¤ÇÏ´Â ºñ¿ëÀ» ±â·ÏÇÒ ¼ö ÀÖ½À´Ï´Ù.
»ç¿ëÀÚ Á¤ÀÇ ÇÔ¼ö(UDF)¿¡ ÀÇÇØ »ç¿ëµÈ ÀÔÃâ·Â°ú ¸í·É¿¡ ´ëÇÑ Á¤º¸¸¦ ¾ò±â À§Çؼ, ¿î¿µ üÁ¦¿ë ÇÁ·Î±×·¡¹Ö ¾ð¾î ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ Á¦°øµÇ°Å³ª »ç¿ë °¡´ÉÇÑ ¸ð´ÏÅ͸µ µµ±¸¿¡ ÀÇÇØ Á¦°øµÈ Ãâ·ÂÀ» »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
¶§¶§·Î Çö¾÷ ½Ã½ºÅÛ µ¥ÀÌÅÍÀÇ ºÎ¼Ó ÁýÇÕÀ» Å×½ºÆ®¿ë ½Ã½ºÅÛ¿¡ °®°í Àֱ⸦ ¿øÇÏ´Â °æ¿ì°¡ ÀÖ½À´Ï´Ù. ±×·¯³ª Å×½ºÆ®¿ë ½Ã½ºÅÛ¿¡ ´ëÇÑ Ä«Å»·Î±× Åë°è¿Í ±¸¼º ¸Å°³º¯¼ö°¡ Çö¾÷ ½Ã½ºÅÛÀÇ Åë°è ¹× ¸Å°³º¯¼ö¿Í ÀÏÄ¡Çϵµ·Ï °»½ÅµÇ¾î ÀÖÁö ¾Ê´Ù¸é, Å×½ºÆ® ½Ã½ºÅÛ¿ëÀ¸·Î ¼±ÅÃµÈ ¾×¼¼½º Ç÷£Àº Çö¾÷ ½Ã½ºÅÛ¿¡¼ »ç¿ëµÉ °Í°ú ¹Ýµå½Ã °°Áö´Â ¾Ê½À´Ï´Ù.
Çö¾÷ ȯ°æÀÇ Ä«Å»·Î±× Åë°è¿Í ÀÏÄ¡ÇÏ´Â Å×½ºÆ® µ¥ÀÌÅͺ£À̽ºÀÇ Ä«Å»·Î±× Åë°è¸¦ ÀÛ¼ºÇÏ´Â µ¥ ÇÊ¿äÇÑ °»½Å¹®À» »ý¼ºÇϱâ À§ÇØ Çö¾÷ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ¼öÇàµÉ ¼ö ÀÖ´Â µµ±¸ÀÎ db2lookÀÌ Á¦°øµË´Ï´Ù. ÀÌ·¯ÇÑ °»½Å¹®Àº ¸ð¹æ ¸ðµå(-m ¿É¼Ç)¿¡¼ db2lookÀ» »ç¿ëÇÏ¿© »ý¼ºµÉ ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, db2lookÀº Çö¾÷ µ¥ÀÌÅͺ£À̽ºÀÇ Ä«Å»·Î±× Åë°è¸¦ ¸ð¹æÇÏ´Â µ¥ ÇÊ¿äÇÑ ¸ðµç ¸í·É¹®ÀÌ µé¾î ÀÖ´Â ¸í·É ÇÁ·Î¼¼¼ ½ºÅ©¸³Æ®¸¦ Á¦°øÇÕ´Ï´Ù. ÀÌ´Â Å×½ºÆ® ȯ°æ¿¡¼ Visual ExplainÀ» ÅëÇØ SQL¹®À» ºÐ¼®ÇÒ ¶§ À¯¿ëÇÕ´Ï´Ù.
db2look -e ¸í·ÉÀ» »ç¿ëÇÏ¿© DDL¹®À» ¹ßÃéÇÔÀ¸·Î½á, Å×À̺í, ºä, »öÀÎ ¹× µ¥ÀÌÅͺ£À̽º ³»ÀÇ ´Ù¸¥ ¿ÀºêÁ§Æ®¸¦ Æ÷ÇÔÇÑ µ¥ÀÌÅͺ£À̽º µ¥ÀÌÅÍ ¿ÀºêÁ§Æ®¸¦ ÀçÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. ´Ù¸¥ µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ ÀÌ ¸í·ÉÀ¸·ÎºÎÅÍ ÀÛ¼ºµÈ ¸í·É ÇÁ·Î¼¼¼ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇÏ¿© µ¥ÀÌÅͺ£À̽º¸¦ ÀçÀÛ¼ºÇÒ ¼ö ÀÖ½À´Ï´Ù. -e ¿É¼ÇÀ» -m ¿É¼Ç°ú ÇÔ²² »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.
Å×½ºÆ® ½Ã½ºÅÛ¿¡¼ db2look¿¡ ÀÇÇØ »ý¼ºµÈ °»½Å¹®À» ¼öÇàÇÑ ÈÄ, Å×½ºÆ® ½Ã½ºÅÛÀº Çö¾÷ ȯ°æ¿¡¼ »ý¼ºµÉ ¾×¼¼½º Ç÷£ÀÇ À¯È¿¼ºÀ» È®ÀÎÇÏ´Â µ¥ »ç¿ëµÉ ¼ö ÀÖ½À´Ï´Ù. ÃÖÀûÈ ¾Ë°í¸®ÁòÀº Å×ÀÌºí °ø°£ÀÇ À¯Çü°ú ±¸¼ºÀ» »ç¿ëÇÏ¿© ÀÔÃâ·Â ºñ¿ëÀ» »êÃâÇϱ⠶§¹®¿¡, Å×½ºÆ® ½Ã½ºÅÛÀº °°Àº Å×ÀÌºí °ø°£ ±âÇÏÇÐ ¶Ç´Â ¹èÄ¡¸¦ °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù. Áï, °°Àº À¯ÇüÀÇ °°Àº ¼öÀÇ ÄÁÅ×À̳ÊÀÔ´Ï´Ù. SMS ¶Ç´Â DMS°¡ ÇØ´çÇÕ´Ï´Ù.
db2look µµ±¸´Â bin ¼ºêµð·ºÅ丮¿¡ µé¾î ÀÖ½À´Ï´Ù.
ÀÌ µµ±¸¸¦ »ç¿ëÇÏ´Â ¹æ¹ý¿¡ °üÇÑ ÀÚ¼¼ÇÑ Á¤º¸¸¦ º¸·Á¸é, ¸í·ÉÇà¿¡ ´ÙÀ½ ¸í·ÉÀ» ÀÔ·ÂÇϽʽÿÀ.
db2look -h
¶ÇÇÑ ÀÌ µµ±¸¿¡ ´ëÇØ¼´Â Command Reference ¸Å´º¾óÀ» ÂüÁ¶ÇϽʽÿÀ.
Á¦¾î ¼¾ÅÍ¿¡¼´Â "Generate SQL - Object Name"À̶ó°í ÇÏ´Â db2look À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇÕ´Ï´Ù. Á¦¾î ¼¾Å͸¦ »ç¿ëÇϸé À¯Æ¿¸®Æ¼·ÎºÎÅÍ »ý¼ºµÈ °á°ú ÆÄÀÏÀÌ ½ºÅ©¸³Æ® ¼¾ÅÍ¿¡ ÅëÇյ˴ϴÙ. Á¦¾î ¼¾ÅͷκÎÅÍ db2look ¸í·ÉÀ» ½ºÄÉÁÙÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇÑ °¡Áö ´Ù¸¥ Á¡ÀÌ ÀÖ´Ù¸é, db2look ¸í·ÉÀ» »ç¿ëÇϸé ÇϳªÀÇ È£Ãâ¿¡¼ ÃÖ´ë 30°³ÀÇ Å×À̺íÀ» ºÐ¼®ÇÒ ¼ö ÀÖ´Â ¹Ý¸é, Á¦¾î ¼¾Å͸¦ »ç¿ëÇϸé ÇϳªÀÇ Å×ÀÌºí ºÐ¼®¸¸À» ¼öÇàÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. LaTex ¹× Graphical Ãâ·ÂÀº Á¦¾î ¼¾ÅÍ¿¡¼´Â Áö¿øµÇÁö ¾Ê´Â´Ù´Â Á¡À» À¯ÀÇÇϽʽÿÀ.
OS/390 µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇØ db2look À¯Æ¿¸®Æ¼¸¦ ¼öÇàÇÒ ¼öµµ ÀÖ½À´Ï´Ù. db2look À¯Æ¿¸®Æ¼´Â OS/390 ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ DDL ¹× UPDATE Åë°è ¸í·É¹®À» ÃßÃâÇÕ´Ï´Ù. ÀÌ À¯Æ¿¸®Æ¼´Â OS/390 ¿ÀºêÁ§Æ®¸¦ ÃßÃâÇϰí DB2 Universal Database(UDB) µ¥ÀÌÅͺ£À̽º¿¡¼ ÀÌ ¿ÀºêÁ§Æ®¸¦ ÀçÀÛ¼ºÇÏ·Á°í ÇÒ °æ¿ì¿¡ ¸Å¿ì À¯¿ëÇÕ´Ï´Ù. db2look À¯Æ¿¸®Æ¼¿¡ ´ëÇÑ Ãß°¡ Á¤º¸´Â Command Reference ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
DB2 UDB Åë°è¿Í OS/390 Åë°è »çÀÌ¿¡´Â ¾à°£ÀÇ Â÷À̰¡ ÀÖ½À´Ï´Ù. db2look À¯Æ¿¸®Æ¼´Â Àû¿ë °¡´ÉÇÒ °æ¿ì OS/390¿ë DB2¿¡¼ DB2 UDB·ÎÀÇ ÀûÀýÇÑ º¯È¯À» ¼öÇàÇϰí OS/390¿ë DB2 ´ëÀÀºÎ°¡ Á¸ÀçÇÏÁö ¾Ê´Â DB2 UDB Åë°è¸¦ ±âº»°ª(-1)À¸·Î ¼³Á¤ÇÕ´Ï´Ù. ´ÙÀ½Àº db2look À¯Æ¿¸®Æ¼°¡ OS/390¿ë DB2 Åë°è¸¦ DB2 UDB Åë°è¿¡ ¸ÊÇÎÇÏ´Â ¹æ½ÄÀÔ´Ï´Ù. ¾Æ·¡ÀÇ ³íÀÇ¿¡¼ "UDB_x"´Â DB2 UDB Åë°è Ä÷³À» ³ªÅ¸³»°í, "S390_x"´Â OS/390¿ë DB2 Åë°è Ä÷³À» ³ªÅ¸³À´Ï´Ù.
UDB_CARD = S390_CARDF
UDB_NPAGES = S390_NPAGES
S390_FPAGES´Â ¾ø½À´Ï´Ù. ±×·¯³ª, OS/390¿ë DB2¿¡´Â Å×À̺íÀÇ ÇàµéÀ» Æ÷ÇÔÇϴ Ȱµ¿ Å×ÀÌºí °ø°£ ÆäÀÌÁöÀÇ ¹éºÐÀ²À» ³ªÅ¸³»´Â PCTPAGES¶ó°í ÇÏ´Â ´Ù¸¥ Åë°è°¡ ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î, ´ÙÀ½°ú °°ÀÌ S390_NPAGES ¹× S390_PCTPAGES¸¦ ±âÃÊ·Î UDB_FPAGES¸¦ °è»êÇÒ ¼ö ÀÖ½À´Ï´Ù.
UDB_FPAGES=(S390_NPAGES * 100)/S390_PCTPAGES
UDB_OVERFLOW¿¡ ¸ÊÇÎÇÒ S390_OVERFLOW°¡ ¾ø½À´Ï´Ù. ±×·¯¹Ç·Î, db2look À¯Æ¿¸®Æ¼´Â À̸¦ ±âº»°ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
UDB_OVERFLOW=-1
UDB_COLCARD = S390_COLCARDF
UDB_HIGH2KEY = S390_HIGH2KEY
UDB_LOW2KEY = S390_LOW2KEY
UDB_AVGCOLLEN¿¡ ¸ÊÇÎÇÒ S390_AVGCOLLENÀÌ ¾øÀ¸¹Ç·Î db2look À¯Æ¿¸®Æ¼´Â À̸¦ ±âº»°ªÀ¸·Î ¼³Á¤ÇÕ´Ï´Ù.
UDB_AVGCOLLEN=-1
UDB_NLEAF = S390_NLEAF
UDB_NLEVELS = S390_NLEVELS
UDB_FIRSTKEYCARD= S390_FIRSTKEYCARD
UDB_FULLKEYCARD = S390_FULLKEYCARD
UDB_CLUSTERRATIO= S390_CLUSTERRATIO
OS/390 ´ëÀÀºÎ°¡ ¾ø´Â ´Ù¸¥ Åë°è´Â ±âº»°ªÀ¸·Î ¼³Á¤µË´Ï´Ù. ´ÙÀ½°ú °°½À´Ï´Ù.
UDB_FIRST2KEYCARD = -1 UDB_FIRST3KEYCARD = -1 UDB_FIRST4KEYCARD = -1 UDB_CLUSTERFACTOR = -1 UDB_SEQUENTIAL_PAGES = -1 UDB_DENSITY = -1
OS/390¿ë DB2 SYSIBM.SYSCOLUMNS¿¡´Â µÎ °¡Áö À¯ÇüÀÇ Åë°è°¡ ÀÖ½À´Ï´Ù. ºóµµ °ª¿¡ ´ëÇØ¼´Â "F"¸¦, ±âº» Çà¼ö(cardinality)¿¡ ´ëÇØ¼´Â "C"¸¦ ÀÔ·ÂÇϽʽÿÀ. À¯Çü "F"ÀÇ Ç׸ñ¸¸ UDB¿ë DB2¿¡ Àû¿ëÇÒ ¼ö ÀÖÀ¸¸ç, ÀÌ Ç׸ñµéÀº °í·ÁµÉ Ç׸ñÀÔ´Ï´Ù. ¶ÇÇÑ, OS/390¿ë DB2 SYSIBM.SYSCOLUMNS¿¡´Â SEQNO Ä÷³ÀÌ ¾øÁö¸¸ ÀÌ´Â UDB¿ë DB2¿¡ ÇÊ¿äÇϹǷÎ, db2look´Â ÀÚµ¿À¸·Î À̸¦ »ý¼ºÇÕ´Ï´Ù.
UDB_COLVALUE = S390_COLVALUE UDB_VALCOUNT = S390_FrequencyF * S390_CARD