Ȩ > ÀÚ·á½Ç > News Letter
 
Download
News Letter
Site Link
XpertMon ´º½º·¹ÅÍ 44È£
2007/03/22 10:42 17525


¾È³çÇϼ¼¿ä. DB2 ¹× XpertMon »ç¿ëÀÚ ¿©·¯ºÐ!
¢ß ¾ÆÀÌƼ¿¢½ºÆÛÆ®±×·ì DB »ç¾÷ºÎÀÔ´Ï´Ù.

Áö³­ ÁÖ¿¡´Â WS II ÀÇ ±âº» °³³ä°ú Äõ¸®¸¦ ó¸®ÇÏ´Â ¹æ½Ä¿¡ ´ëÇØ ¾Ë¾Æº¸¾Ò½À´Ï´Ù.
À̹ø ÁÖ¿¡´Â Áö³­ ÁÖ¿¡ À̾î WS II ¿¡ ÀÖ¾î ¼º´É Çâ»óÀ» À§ÇÑ ¼³Á¤ ÆÁ¿¡ ´ëÇØ »ìÆ캸µµ·Ï
ÇÏ°Ú½À´Ï´Ù.


¼³Á¤ ÆÁ
Á¦´ë·Î µÈ ¼³Á¤°ú ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º ¹× ¿ø°Ý ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Á¤È®ÇÑ Áö½ÄÀº ÃÖÀûÀÇ ¼º´ÉÀ»
À§ÇÑ °¡Àå Áß¿äÇÑ ¿ä¼ÒÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Á¤º¸´Â ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î ¼³Á¤ ÇÒ ¼ö ÀÖ½À´Ï´Ù.

  • ¼­¹ö ¿É¼Ç ¹× Ä®·³ ¿É¼Ç
    WS II´Â ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º°¡ ÇÒ ¼ö ÀÖ´Â °Í°ú ÇÒ ¼ö ¾ø´Â °Í¿¡ ´ëÇÑ Á¤º¸¸¦ ÇÊ¿ä·Î
    Çϱ⠶§¹®¿¡ server optionÀ» Á¤È®È÷ ÁöÁ¤ÇØ ÁÖ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù.
  • µ¥ÀÌÅÍ À¯Çü ¸ÅÇÎ
    ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿Í ·ÎÄà µ¥ÀÌÅÍ À¯Çü°£ÀÇ ¸ÅÇο¡ À¯ÀÇÇϽʽÿÀ.
  • ÇÔ¼ö ¸ÅÇÎ
    ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ À§Ä¡ÇÑ ÇÔ¼ö¸¦ WS II°¡ È£Ãâ ÇÒ ¼ö ÀÖµµ·Ï ¸ÅÇνÃÄÑ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
  • Nickname Åë°èÁ¤º¸
  • À妽º ÁöÁ¤
  • Nickname¿¡ ´ëÇÑ MQT

¿ì¼± ¼­¹ö ¿É¼Ç¿¡ ´ëÇØ »ìÆ캸°Ú½À´Ï´Ù.
  • PUSHDOWN : 󸮸¦ ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º·Î ³Ñ±æ °ÍÀÎÁö ¼³Á¤ÇÕ´Ï´Ù.
    (±âº»°ªÀº ¡®Y¡¯ ÀÔ´Ï´Ù.)
  • COLLATING_SEQUENCE : ¿ø°Ý°ú ·ÎÄà ¹®ÀÚ¿­¿¡ ´ëÇÑ Á¤·Ä ¼ø¼­°¡ °°´Ù¸é ¡®Y¡¯·Î
    ¼³Á¤ÇϽʽÿÀ. (±âº»°ªÀº ¡®N¡¯ ÀÔ´Ï´Ù.)
  • DB2_MAXIMAL_PUSHDOWN : cost¿¡ »ó°ü¾øÀÌ PUSHDOWNÀ» °­Á¦ÇÕ´Ï´Ù.
    ¾ÈÀüÀ» À§ÇØ ¼¼¼Ç´ÜÀ§·Î ¼³Á¤ÇϽñ⠹ٶø´Ï´Ù. (±âº»°ªÀº ¡®N¡¯ ÀÔ´Ï´Ù.)
  • COMM_RATE, CPU_RATIO, IO_RATIO : ¿ø°Ý CPU / IO °¡ WS II ¿¡ ºñÇØ ºü¸¥Áö
    ´À¸°Áö¿¡ ´ëÇÑ link ¼Óµµ¿¡ ´ëÇÑ Á¤º¸¸¦ ¼³Á¤ÇÕ´Ï´Ù.
  • PLAN_HINTS : Oracle µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇÑ Hint±¸¹®À» WS II°¡ »ý¼ºÇϵµ·Ï ÇÏ´Â
    ÆĶó¹ÌÅÍ ÀÔ´Ï´Ù. (±ÇÀåÇÏÁö´Â ¾Ê½À´Ï´Ù.)

Ä®·³ ¿É¼ÇÀº ´ÙÀ½°ú °°½À´Ï´Ù.
  • VARCHAR_NO_TRAILING_BLANKS : Oracle µ¥ÀÌÅÍ ¼Ò½ºÀÇ VARCHAR Ä®·³ µ¥ÀÌÅÍ¿¡
    °ø¹é¹®ÀÚ·Î ³¡³ª´Â ³»¿ëÀÌ ¾ø´Ù´Â °ÍÀ» ¼³Á¤ÇÕ´Ï´Ù. °ø¹é¹®ÀÚ·Î ³¡³ª´Â ³»¿ëÀÌ ¾ø´Ù¸é
    ¡®Y¡¯·Î ¼³Á¤ÇϽʽÿÀ.
  • NUMERIC_STRING : ¹®ÀÚ¿­ÀÇ ³»¿ëÀÌ ¼ýÀڷθ¸ ÀÌ·ç¾îÁ® ÀÖ´Ù¸é ¡®Y¡¯·Î ¼³Á¤ÇϽʽÿÀ.
    ¡®Y¡¯·Î ¼³Á¤Çϸé COLLATING_SEQUENCE´Â ÀÌ Ä®·³¿¡ ´ëÇؼ­´Â ¹®Á¦°¡ µÇÁö ¾Ê½À´Ï´Ù.
ÀÌ»óÀÇ ÆĶó¹ÌÅÍ Áß ¸î°¡Áö¿¡ ´ëÇØ »ó¼¼È÷ »ìÆ캸°Ú½À´Ï´Ù.

COLLATING_SEQUENCE ´Â WS II¿Í ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½ºÀÇ ¹®ÀÚ¿­ Á¤·Ä ¼ø¼­°¡ °°ÀºÁö ¿©ºÎ¸¦
ÁöÁ¤ÇÕ´Ï´Ù. ¡®Y¡¯·Î ÁöÁ¤Çϸé, SORT°¡ PUSHDOWN µÇ°Å³ª, ¹®ÀÚ ºÎµîÈ£ Á¶°ÇÀ» ¾ÈÀüÇÏ°Ô »ç¿ë
ÇÒ ¼ö ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¸é,

SELECT COUNT(*) .... WHERE p_name > ¡®F¡¯;

°°Àº Äõ¸®¸¦ ¼öÇàÇÒ ¶§ ÀÌ ÆĶó¹ÌÅÍÀÇ ¼³Á¤¿¡ µû¶ó Explain tree °¡ ´ÙÀ½°ú °°ÀÌ ´Ù¸£°Ô
³ªÅ¸³³´Ï´Ù.

              COLLATING_SEQUENCE=¡¯N¡¯                                           COLLATING_SEQUENCE=¡¯Y¡¯

COLLATING_SEQUENCE ÀÇ ±âº»°ªÀº ¡®N¡¯ ÀÔ´Ï´Ù. ¸¸¾à Å×½ºÆ®¸¦ ¿øÇÑ´Ù¸é, WS II¿Í
¿ø°Ýµ¥ÀÌÅÍ ¼Ò½º¿¡ ÀÛÀº Å×À̺íÀ» ¸¸µé°í ¸î °ÇÀÇ ¹®ÀÚ¿­ µ¥ÀÌÅ͸¦ ³Ö½À´Ï´Ù. À̶§ ´ë¼Ò¹®ÀÚ,
°ø¹éÀ¸·Î ½ÃÀÛÇÏ´Â ¹®ÀÚ¿­, ¼ýÀÚ µî ´Ù¾çÇÑ °æ¿ì¿¡ ´ëÇØ ºñ±³°¡ °¡´ÉÇϵµ·Ï ³Ö½À´Ï´Ù.

±×·± ÈÄ order by¸¦ ÀÌ¿ëÇؼ­ Á¶È¸ÇÏ¿© Á¤·Ä ¼ø¼­°¡ °°ÀºÁö È®ÀÎ ÇÒ ¼ö ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ ÇѹøÀÇ Å×½ºÆ®·Î °á·ÐÀ» ³»´Â °ÍÀº ´Ù¼Ò À§ÇèÇÒ ¼ö ÀÖÀ¸´Ï, ÃæºÐÇÑ Å×½ºÆ® ÈÄ ¼³Á¤À»
ÇØÁֽñ⠹ٶø´Ï´Ù.
È®½ÇÇÑ °á°ú¸¦ ¾ò°í COLLATING_SEQUENCE¸¦ ¡®Y¡¯·Î ¼³Á¤ÇÏ°Ô µÇ¸é »ó´çÇÑ ¼º´É °³¼±È¿°ú¸¦
±â´ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

DB2_MAXIMAL_PUSHDOWN Àº µÎ °¡Áö ¸ðµå·Î ¼³Á¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

ÇÑ°¡Áö´Â ¼­¹ö ¿É¼ÇÀ¸·Î ¼³Á¤ÇÏ¿© ÇØ´ç ¼­¹ö·Î °¡´Â ¸ðµç Äõ¸®¿¡ Àû¿ëµÇµµ·Ï ÇÏ´Â ¹æ¹ý°ú,
¼¼¼Ç´ÜÀ§·Î ¼³Á¤ÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù. ¼¼¼Ç´ÜÀ§·Î ¼³Á¤ÇÏ´Â °ÍÀÌ ¾ÈÀüÇÕ´Ï´Ù.

ÀÌ ÆĶó¹ÌÅ͸¦ ¡®Y¡¯·Î ¼³Á¤ÇÏ¸é ¿ÉƼ¸¶ÀÌÀúÀÇ ÀÇÁö¿Í´Â °ü°è¾øÀÌ ¸ðµç SQLÀÌ ¿ø°Ý µ¥ÀÌÅÍ
¼Ò½º·Î PUSHDOWN µÉ °ÍÀÔ´Ï´Ù. µû¶ó¼­, PUSHDOWNÀÌ ÇÊ¿äÇÑ °æ¿ì³ª, ¹®Á¦ ºÐ¼®À»
À§ÇÑ °æ¿ì¿¡¸¸ »ç¿ëÇÒ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù.

¹«ºÐº°ÇÑ PUSHDOWNÀÇ »ç¿ëÀº ¿ÀÈ÷·Á ¼º´É ÀúÇϸ¦ ÃÊ·¡Çϱ⵵ ÇÕ´Ï´Ù.
¿¹¸¦ µé¸é, µ¥ÀÌÅÍ ¼Ò½º A¿¡¼­ Å×À̺í A1°ú A2, ±×¸®°í µ¥ÀÌÅÍ ¼Ò½º B¿¡¼­ B1À» join ÇÏ´Â µ¥
ÀÖ¾î, A1-B1À» ¸ÕÀú ÇÏ´Â °ÍÀÌ ºü¸¦ ¼ö ÀÖ½À´Ï´Ù.
ÀÌ ¶§, DB2_MAXIMAL_PUSHDOWNÀ» ¡®Y¡¯·Î ¼³Á¤ÇÏ¸é ¿ÀÈ÷·Á ¼º´ÉÀÌ ³ªºüÁö°Ô µË´Ï´Ù.

      A1-B1 joinÀ» ¸ÕÀú ¼öÇàÇÑ ÃÖÀûÀÇ plan                             DB2_MAXIMAL_PUSHDOWN=¡¯Y¡¯·Î ÀÎÇØ ³ªºüÁø plan

DB2_MAXIMAL_PUSHDOWN Àº PUSHDOWNÀÌ ±â´É»óÀÇ ¹®Á¦·Î ½ÇÆÐÇÏ´Â °æ¿ì, ¹®Á¦ ºÐ¼®À»
À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. PUSHDOWNÀÌ ½ÇÆÐÇÏ´Â °æ¿ì, ÀÌ ÆĶó¹ÌÅ͸¦ ¡®Y¡¯·Î ¼³Á¤ÇÑ ÈÄ¿¡µµ
PUSHDOWNÀÌ ½ÇÆÐÇÑ´Ù¸é ÀÌ´Â µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ ƯÁ¤ ÀÛ¾÷À» ¼öÇàÇÒ ¼ö ¾ø°Å³ª, °°Àº ÀÛ¾÷À»
¼öÇàÇÏ´Â ÇÔ¼ö°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ ¾ø°Å³ª, ÇÔ¼ö ¸ÅÇÎÀÌ µÇÁö ¾Ê¾Ò´Ù´Â Àǹ̷ΠÇؼ®ÇÒ ¼ö ÀÖ½À´Ï´Ù.

À§¿¡¼­ º¸¿©µå¸° ºÎÀÛ¿ëÀÌ ÀÖÀ» ¼ö ÀÖÀ¸¹Ç·Î, session ´ÜÀ§·Î ¼³Á¤ÇÏ¿© »ç¿ëÇÏ½Ç °ÍÀ»
±ÇÀåÇÕ´Ï´Ù. (SET SERVER OPTION ¸í·ÉÀ» »ç¿ëÇÏ¸é µË´Ï´Ù.)

VARCHAR_NO_TRAILING_BLANKS´Â ¼­¹ö ¿É¼Ç ¹× Ä®·³ ¿É¼ÇÀ¸·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù.

DB2 ¿¡¼­´Â ¡®HELLO¡¯ ¿Í ¡®HELLO¡à¡à¡à¡à¡¯ ´Â °°Àº °ÍÀ¸·Î ÀνÄÇÕ´Ï´Ù. ÇÏÁö¸¸ Oracle ¿¡¼­´Â
¡®HELLO¡¯ ¿Í ¡®HELLO¡à¡à¡à¡à¡¯ ´Â ¾ö¿¬È÷ ´Ù¸¥ °ÍÀ¸·Î ÀνÄÇÕ´Ï´Ù.

µû¶ó¼­ VARCHARÄ®·³ÀÌ °ø¹é¹®ÀÚ·Î ³¡³ªÁö ¾Ê´Â´Ù´Â °ÍÀ» È®ÀÎÇØ ÁÖÁö ¾ÊÀ¸¸é, WS II´Â
°ø¹é¹®ÀÚ¸¦ ä¿ö¼­ µÎ ¹®ÀÚ¿­À» ºñ±³ÇÏ°Ô µË´Ï´Ù.

ÀÌ ÆĶó¹ÌÅÍÀÇ °ªÀ¸·Î ¡®Y¡¯´Â °ø¹éÀÌ ¾ø´Ù´Â °ÍÀ» ÀǹÌÇÏ°í, ¡®N¡¯´Â °ø¹é¹®ÀÚ°¡ ÀÖ´Ù´Â °ÍÀ»
ÀǹÌÇÕ´Ï´Ù. ÀÌÁ¡ À¯ÀÇÇϽñ⠹ٶø´Ï´Ù.

±âº»°ªÀº ¡®N¡¯À¸·Î ¼³Á¤µÇ¾î ÀÖ½À´Ï´Ù. ÀÌ °ªÀ» ¡®Y¡¯·Î ¼³Á¤ÇÏ¸é ¼º´É¿¡¼­ ÀÌÀÍÀ» º¼ ¼ö ÀÖÁö¸¸,
½ÇÁ¦·Î °ø¹é¹®ÀÚ°¡ ÀÖÀ½¿¡µµ ºÒ±¸ÇÏ°í À߸ø ¼³Á¤ÇÑ °ÍÀ̶ó¸é, °Ë»ö °á°ú°¡ ´Þ¶óÁö´Â ¹®Á¦°¡
¹ß»ýÇÏ°Ô µÇ¹Ç·Î ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.

ÀÌ ÆĶó¹ÌÅ͸¦ ¼­¹ö ¿É¼ÇÀ¸·Î ¼³Á¤ÇÏ°Ô µÇ¸é, ÇØ´ç ¼­¹ö¿¡ ÀÖ´Â ¸ðµç Å×À̺íÀÇ VARCHAR Ä®·³¿¡
°ø¹éÀ¸·Î ³¡³ª´Â ¹®ÀÚ¿­ÀÌ ¾ø´Ù´Â ÀǹÌÀ̹ǷΠÀÌ Á¡ ¿ª½Ã ÁÖÀÇÇϽñ⠹ٶø´Ï´Ù.

VARCHAR_NO_TRAILING_BLANKS ¸¦ »ç¿ëÇÑ ¿¹¸¦ »ìÆì º¸°Ú½À´Ï´Ù.

SELECT COUNT(*) FROM ora1.part WHERE p_name = ¡®cornflower¡¯;

¿ì¼±, Explain tree ´Â ¼³Á¤¿¡ °ü°è¾øÀÌ À§Ã³·³ ³ª¿É´Ï´Ù.

¿©±â¼­, VARCHAR_NO_TRAILING_BLANKS=¡¯Y¡¯·Î
¼³Á¤Çß´Ù¸é PUSHDOWN µÇ´Â Äõ¸®´Â ´ÙÀ½°ú °°½À´Ï´Ù.

SELECT COUNT(*) FROM ¡°ORA¡±. ¡°PART¡± A0
     WHERE (A0. ¡°P_NAME¡±=¡¯conflower¡¯)


À̶§ ÇØ´ç Ä®·³ÀÌ °ø¹é¹®ÀÚ·Î ³¡³­´Ù¸é, ¾Æ¹«·± ³»¿ëµµ ¸®ÅϵÇÁö ¾Ê½À´Ï´Ù.
À߸øµÈ °á°ú°¡ ³ª¿À´Â °ÍÀÌÁÒ.

¸¸¾à VARCHAR_NO_TRAILING_BLANKS=¡¯N¡¯·Î ¼³Á¤µÇ¾îÀÖ´Ù¸é, PUSHDOWN µÇ´Â Äõ¸®´Â
´ÙÀ½°ú °°½À´Ï´Ù.

SELECT COUNT(*) FROM ¡°ORA¡±.¡±PART¡± A0
     WHERE (RPAD(¡®cornflower¡¯,55,¡¯ ¡®)= RPAD(A0.¡±P_NAME¡±,55,¡¯ ¡®))


°ø¹é ¹®ÀÚ¸¦ ¸Þ²ã³ÖÀ½À¸·Î½á Á¤È®ÇÑ °á°ú¸¦ º¸ÀåÇÏÁö¸¸, P_NAME¿¡ À妽º°¡ ´Þ·ÁÀÖ´Ù Çصµ
¹«½ÃµÇ¹Ç·Î ¼Óµµ´Â ´À·ÁÁý´Ï´Ù.

¿ø°Ý Ä®·³°ú ·ÎÄà Ä÷³°£ÀÇ Å¸ÀÔ ¸ÅÇÎÀ» ÅëÇØ ¼º´É¿¡ ¿µÇâÀ» ÁÙ ¼ö ÀÖ½À´Ï´Ù.
¿¹¸¦ µé¸é, Oracle ÀÇ DATE ŸÀÔÀº ±âº»ÀûÀ¸·Î DB2ÀÇ TIMESTAMP ŸÀÔÀ¸·Î ¸ÅÇε˴ϴÙ.

µû¶ó¼­,... WHERE >= DATE(¡®2005-12-20¡¯)Àº µ¿ÀÛÇÏÁö
¾Ê½À´Ï´Ù. WHERE CAST( as DATE ) = DATE(¡®2005-12-20¡¯)ÀÇ °æ¿ì´Â
µ¿ÀÛÀº ÇÏÁö¸¸ CAST ÀÇ PUSHDOWNÀ¸·Î ÀÎÇØ ¼º´ÉÀº ´À·ÁÁý´Ï´Ù.

ÀϹÝÀûÀ¸·Î ±âº» ŸÀÔ ¸ÅÇÎÀ» »ç¿ëÇϴ°ÍÀÌ Æí¸® ÇÏÁö¸¸, ºü¸¥ ¼º´ÉÀ» À§Çؼ­´Â ÀûÀýÇÑ ÇüÅ·Î
¸ÅÇÎÀ» ÇØÁÖ´Â °ÍÀÌ À¯¸®ÇÕ´Ï´Ù.
¼³Á¤ÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.

ALTER NICKNAME ALTER COLUMN LOCAL TYPE DATE;

À§¿Í °°ÀÌ ¼³Á¤Çϸé, Oracle ÀÇ DATE ŸÀÔ Ä®·³ÀÌ ·ÎÄÃÀÇ DATE ŸÀÔÀ¸·Î ¸ÅÇε˴ϴÙ.
³»ºÎÀûÀ¸·Î´Â, »ç¿ëÀÚ°¡ Oracle DATE ŸÀÔÀÇ timestamp ºÎºÐÀÌ 0À̶ó°í ¾Ë·ÁÁÖ´Â °ÍÀÌ°í,
DB2´Â ±×´ë·Î ¹Ï½À´Ï´Ù. ÀÌ·¸°Ô ¼³Á¤ÇÑ µÚ, CAST ¾øÀÌ ºñ±³¸¦ Çصµ ¼º°øÀûÀ¸·Î ¼öÇàÀÌ µË´Ï´Ù.

Ä®·³ ¸ÅÇÎÀº ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿Í WS II¿Í joinÀÌ ÇÊ¿äÇÒ °æ¿ì ƯÈ÷ Áß¿äÇÕ´Ï´Ù. µ¥ÀÌÅÍ Å¸ÀÔÀ»
¸ÂÃçÁÖ°Ô µÇ¸é hash join µîÀÇ »ç¿ëÀ¸·Î ÀÎÇØ ¼º´É°³¼±ÀÌ °¡´ÉÇÕ´Ï´Ù.

´Ù¸¥ ¿¹¸¦ ÇÑ°¡Áö µé¾îº¸¸é, OracleÀÇ NUMBER ŸÀÔÀº NUMBER(10)À¸·Î ÀνĵǾî 32ºñÆ®ÀÇ
INTEGER º¸´Ù Å®´Ï´Ù. µû¶ó¼­ ±âº»ÀûÀ¸·Î OracleÀÇ NUMBER´Â DECIMAL(10)À¸·Î ¸ÅÇε˴ϴÙ.
ÇÏÁö¸¸ ¸¸¾à OracleÀÇ µ¥ÀÌÅÍ°¡ 232-1 º¸´Ù ÀÛÀº °ªÀ̶ó¸é, ÀÌ Ä®·³À» INT·Î ¸ÅÇÎÇÏ¿© ·ÎÄÃÀÇ
INT Ä®·³°ú joinÀÌ °¡´ÉÇÏ°Ô ¼³Á¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

ÇÔ¼ö ¸ÅÇÎÀº ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ÀÖ´Â ÇÔ¼ö¿Í ·ÎÄà ÇÔ¼ö°¡ °°Àº ÇÔ¼ö¶ó´Â °ÍÀ» WS II¿¡°Ô
¾Ë·ÁÁÖ´Â °ÍÀÔ´Ï´Ù. µû¶ó¼­ ¸Å°³º¯¼ö¿Í ŸÀÔÀÌ È£È¯ °¡´ÉÇØ¾ß ÇÕ´Ï´Ù.

¿©·¯ ÇÔ¼öµéÀÌ ÀÌ¹Ì ¸ÅÇÎ µÇ¾î ÀÖÁö¸¸, »õ·Î¿î ¹öÀüºÎÅÍ Áö¿øµÇ´Â ÀϺΠÇÔ¼öÀÇ °æ¿ì´Â »ç¿ëÀÚ°¡
Á÷Á¢ ¸ÅÇÎÇØ ÁÖ¾î¾ß ÇÏ´Â °Íµµ ÀÖ½À´Ï´Ù. ÇÔ¼ö ¸ÅÇÎÀº ¼­¹ö´ÜÀ§·Î ¼³Á¤ ÇÒ ¼öµµ ÀÖ°í, Wrapper
´ÜÀ§¿¡¼­ Àüü ¼­¹ö¿¡ ´ëÇØ ¼³Á¤ ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

¿¹¸¦ µé¾î, ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ÀÖ´Â ÇÔ¼ö function_remote(arg1, arg2)°¡ ÀÖ°í, ¿©±â ´ëÀÀÇÏ´Â
·ÎÄà ÇÔ¼ö function_local(x, y) °¡ ÀÖ´Ù°í °¡Á¤ÇÕ´Ï´Ù.

´ÙÀ½°ú °°ÀÌ ÇÔ¼ö ¸ÅÇÎÀ» ¼³Á¤ÇÕ´Ï´Ù.

CREATE FUNCTION MAPPING my_mapping FOR function_local(char, int) SERVER
my_server OPTIONS ( REMOTE_NAME ¡®function_remote¡¯);

À§¿Í °°ÀÌ ¼³Á¤ ÇÑ ÈÄ, SELECT function_local(x, y) from À» ¼öÇàÇϸé,
ÀÌ Äõ¸®´Â ¿ÏÀüÈ÷ PUSHDOWN µË´Ï´Ù.

ÇÔ¼ö È£ÃâÀÌ PUSHDOWN µÇ´ÂÁö È®ÀÎÇϱâ À§Çؼ­ ÀÌÀü¿¡ ¾ð±ÞÇÑ DB2_MAXIMAL_PUSHDOWN À»
¡®Y¡¯·Î ¼³Á¤ÇÏ¿© Å×½ºÆ® ÇÒ ¼ö ÀÖ½À´Ï´Ù.
¸¸¾à PUSHDOWNµÇÁö ¾Ê´Â´Ù¸é, ÀÌ´Â ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÀÀµÇ´Â ÇÔ¼ö°¡ ¾ø°Å³ª,
ÀÖ´õ¶óµµ ÇÔ¼ö ¸ÅÇÎÀÌ ¼³Á¤µÇÁö ¾Ê¾Ò´Ù´Â °ÍÀ» ÀǹÌÇÕ´Ï´Ù.
¶Ç´Â °°Àº À̸§ÀÇ ÇÔ¼ö°¡ ÀÌ¹Ì Á¸ÀçÇϴµ¥, À̸§¸¸ °°À» »Ó ³»¿ëÀÌ ¼­·Î ´Ù¸¥ °æ¿ìµµ ¿øÀÎÀÌ µË´Ï´Ù.

WS II ÀνºÅϽº¿Í µ¥ÀÌÅͺ£À̽º ¼³Á¤¿¡ ´ëÇØ Àá½Ã »ìÆ캸°Ú½À´Ï´Ù.
  • Æ©´×À» ÇÒ °æ¿ì¿¡´Â ¿ì¼± WSII ÀνºÅϽº¿¡ ÀÖ´Â ·ÎÄõ¥ÀÌÅÍ¿¡ ´ëÇÑ Æ©´×À» ¸ÕÀú ÇÕ´Ï´Ù.
  • Nickname Àº Å×ÀÌºí ½ºÆäÀ̽º¿¡ ÇÒ´çµÇÁö ¾Ê±â ¶§¹®¿¡, ÀÚ½ÅÀÇ ¹öÆÛÇ®ÀÌ ÇÊ¿äÇÏÁö ¾Ê½À´Ï´Ù.
  • Federated Query ¸¦ »ç¿ëÇÔ¿¡ ÀÖ¾î Ãß°¡·Î ÇÊ¿äÇÑ ÀÚ¿ø Áß °¡Àå Áß¿äÇÑ °ÍÀº CPU¿Í ¸Þ¸ð¸® ÀÔ´Ï´Ù
  • ¿ÏÀüÈ÷ PUSHDOWN µÇÁö ¾Ê´Â Federated Query¸¦ ó¸®Çϱâ À§Çؼ­´Â SORTHEAP°ú
    Àӽà Å×ÀÌºí ½ºÆäÀ̽º(¹öÆÛÇ®)¸¦ ÇÊ¿ä·Î ÇÕ´Ï´Ù.

DB2´Â Nickname Åë°èÁ¤º¸¸¦ Ä«Å»·Î±×¿¡ ÀúÀåÇÏ¿© °ü¸®ÇÕ´Ï´Ù.
ÀÌ Åë°èÁ¤º¸´Â Nickname»ý¼º½Ã¿¡ °¡Á®¿À°Ô µË´Ï´Ù. µû¶ó¼­ NicknameÀ» »ý¼ºÇϱ⿡ ¾Õ¼­
¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ Åë°èÁ¤º¸¸¦ ¼öÁýÇØ ÁÙ °ÍÀ» ±ÇÀåÇÕ´Ï´Ù. ÃÖÃÊ¿¡ NicknameÀÇ Åë°èÁ¤º¸¸¦
°¡Á®¿Ô´Ù°í ÇÏ´õ¶óµµ ÀÌÈÄ¿¡ ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ °»½ÅµÈ Åë°èÁ¤º¸´Â Àû¿ëÀÌ µÇÁö ¾Ê½À´Ï´Ù.

¸¸¾à, EXPLAIN °á°ú°¡ ´ÙÀ½°ú °°ÀÌ ³ª¿Â´Ù¸é, NicknameÀÇ Åë°èÁ¤º¸°¡ ºñ¾îÀÖ´Â °ÍÀ¸·Î º¼ ¼ö
ÀÖ½À´Ï´Ù. NicknameÀÇ Çà¼ö´Â ±âº»ÀûÀ¸·Î 1,000 °ÇÀ¸·Î º¸±â ¶§¹®ÀÔ´Ï´Ù.


Åë°èÁ¤º¸´Â µ¥ÀÌÅÍ ¼Ò½º¿¡ µû¶ó ¼öÁýÇÏ´Â Á¤º¸ÀÇ ´ÜÀ§°¡ Ʋ¸³´Ï´Ù.
¿ø°Ý ºä, Alias µîÀÇ Åë°èÁ¤º¸´Â ¼öÁýµÇÁö ¾Ê½À´Ï´Ù.

¸¸¾à, EXPLAIN °á°ú°¡ À߸øµÈ °Íó·³ º¸Àδٸé, NicknameÀÇ Åë°èÁ¤º¸¸¦ È®ÀÎÇØ º¼ ÇÊ¿ä°¡
ÀÖ½À´Ï´Ù. WS II´Â ¸ðµç ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ´ëÇØ °°Àº ¼öÁØÀÇ Åë°èÁ¤º¸¸¦ ¼öÁýÇÏÁö´Â ¸øÇÕ´Ï´Ù.

¸î °¡Áö Åë°èÁ¤º¸ÀÇ °ø½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.
  • CARD = Å×À̺íÀÇ °Ç¼ö
  • COLCARD = Å×À̺íÀÇ Ä®·³¿¡ ´ëÇÑ °íÀ¯ÇÑ °ª(distinct value)ÀÇ °Ç¼ö
  • High2key/Low2key = ÇØ´ç Ä®·³ÀÇ µÎ ¹ø° Å« °ª/ÀÛÀº °ª
  • FIRSTKEYCARD = À妽ºÀÇ ¸Ç ù ¹ø° Ä®·³¿¡ ´ëÇØ °íÀ¯ÇÑ °ª(distinct value)
  • FULLKEYCARD = À妽ºÀÇ ¸ðµç Ä®·³¿¡ ´ëÇØ °íÀ¯ÇÑ °ª(distinct value)


ÀÌ·¯ÇÑ Åë°èÁ¤º¸´Â °¢±â ´ÙÀ½ ºä¿¡ ÀúÀåµË´Ï´Ù.
ºäÄ®·³
SYSSTAT.COLUMNS COLCARD, HIGH2KEY, LOW2KEY
SYSSTAT.TABLES CARD
SYSSTAT.INDEXES FIRSTKEYCARD, FULLKEYCARD

¸¸¾à, Nickname ÀÇ Åë°èÁ¤º¸°¡ ¾ø°í, NNSTAT()À¸·Î ¼öÁýµÇÁö ¾Ê´Â °æ¿ì, ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½ºÀÇ
³»¿ëÀ¸·ÎºÎÅÍ Åë°èÁ¤º¸¸¦ ¼öµ¿À¸·Î ÃßÃâÇÒ ¼ö µµ ÀÖ½À´Ï´Ù.

¿ì¼± ´ÙÀ½°ú °°Àº Äõ¸®¸¦ ÅëÇØ NicknameÀÇ Åë°èÁ¤º¸°¡ ÀÖ´Â Áö È®ÀÎÇÕ´Ï´Ù.

SLECT CHAR(COLNAME,20) AS COLNAME,
      COLCARD, CHAR(HIGH2KEY,33) AS HIGH,
      CHAR(LOW2KEY,33) AS LOW
     FROM SYSSTAT.COLUMNS
   WHERE TABSCHEMA=¡¯¡¯
     AND TABNAME=¡¯¡¯;

ÇØ´ç ³»¿ëÀ» ¼öÁ¤ÇÏ°íÀÚ ÇÏ´Â °æ¿ì¿¡´Â ´ÙÀ½°ú °°ÀÌ SQL¹®À» »ç¿ëÇؼ­ °»½ÅÇÕ´Ï´Ù.

UPDATE SYSSTAT.COLUMNS SET
    COLCARD=¡¯¡¯,
    HIGH2KEY=¡¯¡¯,
    LOW2KEY=¡¯¡¯
  WHERE COLNAME=¡¯¡¯
    AND TABNAME=¡¯¡¯
    AND TABSCHEMA=¡¯¡¯;

CREATE NICKNAME ¹®À¸·Î NicknameÀ» »ý¼ºÇÒ ¶§ ¿ø°Ý¿¡ ÀÖ´Â ÇØ´ç Å×À̺íÀÇ Åë°èÁ¤º¸¸¦
WS II ¼­¹ö¿¡ µî·ÏÇÕ´Ï´Ù.
±×·¯¸é ÀÌ ÀÌÈÄ·Î ÀÌ Åë°èÁ¤º¸¸¦ °»½ÅÇϱâ À§Çؼ­´Â ¾î¶»°Ô ÇØ¾ß ÇÒ±î¿ä?

ù ¹ø° ¹æ¹ýÀº NicknameÀ» drop ÇÑ µÚ, »õ·Î »ý¼ºÇÏ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
ÇÏÁö¸¸ º°·Î ÁÁÀº ¹æ¹ýÀº ¾Æ´Õ´Ï´Ù. ÀÌ·± °æ¿ì ÇØ´ç Nickname À» ÂüÁ¶ÇÏ´Â ÆÐÅ°Áö°¡ invalid
ÇÏ°Ô µÇ°í, ±ÇÇѹ®Á¦µµ ¹ß»ýÇÏ°Ô µË´Ï´Ù.

µÎ ¹ø° ¹æ¹ýÀº WS II V8.2 ºÎÅÍ »õ·Ó°Ô ¼Ò°³µÈ NNSTAT() À̶ó´Â ½ºÅä¾îµå ÇÁ·Î½ÃÀú¸¦
»ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. Á¦¾î¼¾ÅÍ¿¡¼­ Update Statistics ¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù¸¸,
ÀÌ°Í ¿ª½Ã NNSTAT()¸¦ ³»ºÎÀûÀ¸·Î È£ÃâÇÏ´Â °ÍÀÔ´Ï´Ù.

ÇÏÁö¸¸ ÀÌ·± °æ¿ì¿¡µµ Á¦¾à»çÇ×Àº ÀÖ½À´Ï´Ù. ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ¼öÁýµÇ¾î ÀÖ´Â Åë°èÁ¤º¸¸¦
°¡Á®¿À´Â °ÍÀÏ »Ó, »õ·ÎÀÌ Åë°èÁ¤º¸¸¦ ¼öÁýÇÏ´Â °ÍÀº ¾Æ´Õ´Ï´Ù. DB2ÀÇ runstat ¸í·ÉÀº
Nickname¿¡´Â Àû¿ëµÇÁö ¾Ê½À´Ï´Ù. ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ ÀÖ´Â ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Åë°èÁ¤º¸¸¦
¼öÁýÇϱâ À§Çؼ­´Â getstats ¶ó´Â ÅøÀ» »ç¿ëÇÏ¸é µË´Ï´Ù.

getstats´Â ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½ºÀÇ ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Åë°èÁ¤º¸¸¦ ¼öÁýÇÏ´Â ÅøÀÔ´Ï´Ù. ÀÚ¿ø »ç¿ëÀÌ
¸¹°í ¿À¹öÇìµå°¡ ÀÖÀ¸¹Ç·Î ²À ÇÊ¿ä½Ã¿¡¸¸ »ç¿ëÇÏ´Â °ÍÀÌ ÁÁ½À´Ï´Ù. NNSTAT() ½ºÅä¾îµå
ÇÁ·Î½ÃÀú È£Ãâ½Ã ¿ø°Ý¿¡ ÇØ´ç ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Åë°èÁ¤º¸°¡ ¾øÀ» °æ¿ì ÀÚµ¿À¸·Î getstats ÅøÀÌ È£ÃâµË´Ï´Ù.

±×·³ ¿©±â¼­ NNSTAT() ½ºÅä¾îµå ÇÁ·Î½ÃÀú°¡ ¾î¶»°Ô µ¿ÀÛÇÏ´ÂÁö »ìÆ캸°Ú½À´Ï´Ù.

Nickname¿¡ ´ëÇØ NNSTAT() ½ºÅä¾îµå ÇÁ·Î½ÃÀú¸¦ È£ÃâÇϸé, µ¿ÀÏÇÑ ¿ø°Ý ¿ÀºêÁ§Æ®¿¡ ´ëÇØ
´õ¹Ì NicknameÀ» »ý¼ºÇÕ´Ï´Ù. ´õ¹Ì NicknameÀ» »ý¼ºÇÏ´Â ´Ü°è¿¡¼­ (CREATE NICKNAME)
¿ø°Ý ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ Åë°èÁ¤º¸¸¦ °¡Á®¿É´Ï´Ù. ´õ¹Ì Åë°èÁ¤º¸(»õ·Ó°Ô °¡Á®¿Â Åë°èÁ¤º¸)¸¦
±âÁ¸ NicknameÀÇ Åë°èÁ¤º¸¿¡ ³Ö°í, ´õ¹Ì´Â »èÁ¦µË´Ï´Ù. ¸¸¾à ¿ø°Ý¿¡ Åë°èÁ¤º¸°¡ ¾ø¾ú´Ù¸é,
getstats ÅøÀ» »ç¿ëÇÏ¿© Åë°èÁ¤º¸¸¦ ¼öÁýÇÏ¿© °¡Á®¿É´Ï´Ù. ´Ü, NNSTAT()À» »ç¿ëÇصµ
NicknameÀÌ »ý¼ºµÈ ÀÌÈÄ ¸¸µé¾îÁø À妽º¿¡ ´ëÇÑ Á¤º¸¸¦ °¡Á®¿ÀÁö ¸øÇÕ´Ï´Ù.

Nickname ¿¡ ´ëÇÑ ·ÎÄà À妽º´Â Á¸ÀçÇÏÁö ¾Ê½À´Ï´Ù. ´Ù¸¸ ¿ø°Ý µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¸ÀçÇÏ´Â
À妽ºÀÇ Á¤º¸¸¦ Ä«Å»·Î±×¿¡ ÀúÀåÇÒ »ÓÀÔ´Ï´Ù. ÀϹÝÀûÀ¸·Î ¿ø°Ý À妽º¿¡ ´ëÇÑ Á¤º¸´Â
Nickname »ý¼º½Ã¿¡ °¡Á®¿É´Ï´Ù. Nickname »ý¼º ÀÌÈÄ¿¡ ¿ø°Ý ¿ÀºêÁ§Æ®¿¡ Ãß°¡µÈ À妽ºÀÇ
Á¤º¸³ª, view, synonyms, ºñ°ü°èÇü ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ À妽º Á¤º¸´Â °®°í ÀÖÁö ¸øÇÕ´Ï´Ù.

ÀÌ·± °æ¿ì, ¿ø°Ý ¿ÀºêÁ§Æ®¿¡ ´ëÇÑ À妽º Á¤º¸¸¦ WS II¿¡°Ô ¾Ë·ÁÁÙ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.

À̸¦ À妽º ÁöÁ¤(index specification)À̶ó°í ÇÕ´Ï´Ù. ¹æ¹ýÀº CREATE INDEX ¹®°ú À¯»çÇÕ´Ï´Ù.

À妽º ÁöÁ¤Àº ¿ø°Ý ¿ÀºêÁ§Æ®ÀÇ ¾î¶² Ä®·³¿¡ À妽º°¡ ÀÖ´Ù´Â ³»¿ëÀ» ¾Ë·ÁÁÙ »Ó, ÇØ´ç À妽ºÀÇ
Åë°èÁ¤º¸¸¦ °¡Á®¿ÀÁö´Â ¸øÇÕ´Ï´Ù. ±×¿¡ ¹ÝÇØ NNSTAT() ½ºÅä¾îµå ÇÁ·Î½ÃÀú´Â À妽º ÁöÁ¤µîÀ¸·Î
¾Ë·ÁÁø À妽ºÀÇ Åë°èÁ¤º¸¸¦ °¡Á®¿É´Ï´Ù.

¼º´É °³¼±À» À§ÇÑ ¶Ç ÇϳªÀÇ ¹æ¹ýÀº MQT¸¦ »ç¿ëÇÏ´Â °ÍÀÔ´Ï´Ù. joinÀ» ÅëÇØ ·ÎÄà ¹× Nickname¿¡
´ëÇÑ Äõ¸®ÀÇ °á°ú¸¦ ·ÎÄà Å×À̺í·Î À¯ÁöÇÏ´Â ÀÌ ¹æ¹ýÀº ÀÚÁÖ »ç¿ëµÇ´Â Äõ¸®ÀÇ ¼º´ÉÀ» »ó´çºÎºÐ
°³¼±ÇÒ ¼ö ÀÖ°Ô ÇÕ´Ï´Ù.
À¯Áö ¹æ¹ýÀº ±âº»ÀûÀ¸·Î DEFERRED REFRESH ¸¦ »ç¿ëÇÑ ¡®½Ã½ºÅÛ À¯Áö¡¯ ¿Í º¹Á¦¸¦ ÅëÇØ
µ¿±âÈ­¸¦ À¯ÁöÇÏ´Â ¡®»ç¿ëÀÚ À¯Áö¡¯ ¹æ¹ýÀÌ ÀÖ½À´Ï´Ù.
V8.2ÀÇ Á¦¾î¼¾ÅÍÀÇ ¡®Cache Table Wizard¡¯¸¦ »ç¿ëÇÏ´Â ¹æ¹ýµµ ÀÖ½À´Ï´Ù.

¿ø°Ý µ¥ÀÌÅÍ¿¡ ´ëÇÑ MQT¸¦ »ç¿ëÇÏ¿© ¼º´É»ó °³¼±È¿°ú¸¦ ±â´ëÇÒ ¼ö ÀÖ´Â °æ¿ì¸¦ »ìÆ캸°Ú½À´Ï´Ù.
  • ·ÎÄÿ¡ fact Å×À̺íÀÌ ÀÖ°í, ¿ø°Ý¿¡ dimension Å×À̺íÀÌ ÀÖÀ» °æ¿ì,
    dimension Å×À̺íÀÇ ³»¿ë ÀϺθ¦ ·ÎÄÿ¡ ij½Ã ÇÏ¿© ¿ø°Ý µ¥ÀÌÅÍ¿¡ ´ëÇÑ Á¢±ÙÀ» ÁÙÀÏ ¼ö
    ÀÖ½À´Ï´Ù.
  • ¿ø°Ý fact Å×À̺í°ú Çϳª ÀÌ»óÀÇ ¿ø°Ý dimension Å×À̺íÀÇ prejoinÀ» ij½ÃÇÏ¿©
    fact Å×À̺íÀÇ ³»¿ë Áß °ü½É ÀÖ´Â ºÎºÐÀ» ·ÎÄÿ¡ º¸°ü ÇÕ´Ï´Ù.
  • ¿ø°Ý fact Å×À̺í°ú Çϳª ÀÌ»óÀÇ dimension Å×À̺íÀÇ ÇÕÀ» ·ÎÄÿ¡ ÀúÀåÇÏ¿© ¸¹Àº
    Äõ¸®°¡ ¿ø°Ý µ¥ÀÌÅÍ¿¡ Á¢±ÙÇÏÁö ¾Ê°í ·ÎÄÿ¡¼­ ó¸®µÉ ¼ö ÀÖµµ·Ï ÇÕ´Ï´Ù.



XpertMon for DB2 UDB V2
DB »ç¾÷ºÎ
Tel : 02-2108-1458
Fax : 02-2108-1459
Mobile : 011-896-6545
E-mail : hjlee@iteg.co.kr
URL : http://iteg.co.kr

¸ñ·Ï ±Û¾²±â ¼öÁ¤