¸î °¡Áö ±¸¼º ¸Å°³º¯¼ö°¡ SQL ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ ¼±ÅÃµÈ ¾×¼¼½º Ç÷£¿¡ ¿µÇâÀ» ¹ÌĨ´Ï´Ù. ´ëºÎºÐÀÇ ¸Å°³º¯¼ö°¡ ÇϳªÀÇ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼Ç¿¡ ÀûÇÕÇϰí ÀϺΠ¸Å°³º¯¼ö´Â ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽º¿¡¸¸ ÀûÇÕÇÕ´Ï´Ù. ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽º¿¡¼ ±¸¼º ¸Å°³º¯¼ö·Î ÀÛ¾÷ÇÒ ¶§, °¢ ¸Å°³º¯¼ö¿¡ ´ëÇØ »ç¿ëµÈ °ªÀº ¸ðµç ÆÄƼ¼Ç¿¡¼ °°Àº °ÍÀÌ ÁÁ½À´Ï´Ù.
¿¬ÇÕ ½Ã½ºÅÛ¿¡¼ ÀÛ¾÷ÇÒ ¶§, Á¶È¸ÀÇ ´ëºÎºÐÀÌ º°¸íÀ» ¾×¼¼½ºÇÒ °æ¿ì¿¡´Â ȯ°æÀ» º¯°æÇϱâ Àü¿¡ Àü¼ÛÁßÀÎ Á¶È¸ÀÇ À¯ÇüÀ» °í·ÁÇϽʽÿÀ. ¿¹¸¦ µé¾î, ¹öÆÛ Ç®Àº µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ ÆäÀÌÁö¸¦ ij½¬ÇÏÁö ¾Ê½À´Ï´Ù. ±×·¸±â ¶§¹®¿¡, buffpage ¸Å°³º¯¼ö °ªÀ» ´Ã¸®´õ¶óµµ, ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ º°¸íÀ» Æ÷ÇÔÇÏ´Â Á¶È¸¿¡ ´ëÇÑ ¾×¼¼½º Ç÷£À» ÀÛ¼ºÇÒ ¶§ Ãß°¡·Î ´ë¾ÈÀ» °í·ÁÇÑ´Ù°í´Â º¸ÀåÇÒ ¼ö ¾ø½À´Ï´Ù(µ¥ÀÌÅÍ ¼Ò½º´Â ¿¬ÇÕ ½Ã½ºÅÛ ³»ÀÇ DBMS ¹× µ¥ÀÌÅÍÀÔ´Ï´Ù). ¶ÇÇÑ, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº µ¥ÀÌÅÍ ¼Ò½º Å×À̺íÀ» Áö¿ª µ¥ÀÌÅÍÈÇÏ´Â °ÍÀÌ ÃÖ¼Ò ºñ¿ëÀÌ µå´Â ¹æ¹ýÀ̰ųª Á¤·Ä Á¶ÀÛ¿¡ ´ëÇÑ Çʼö ´Ü°è¶ó´Â °áÁ¤À» ³»¸± ¼ö ÀÖ½À´Ï´Ù. ÀÌ °æ¿ì, DB2 Universal Database¿¡¼ »ç¿ë °¡´ÉÇÑ ÀÚ¿øÀ» ´Ã¸®¸é ¼º´ÉÀÌ Çâ»óµÉ ¼ö ÀÖ½À´Ï´Ù. Ãß°¡ Á¤º¸´Â ¿¬ÇÕ µ¥ÀÌÅͺ£À̽º Á¶È¸¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¼¹ö ¿É¼Ç ¹× µ¥ÀÌÅͺ£À̽º °øÀ¯ ¸Þ¸ð¸®¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
´ÙÀ½Àº SQL ÄÄÆÄÀÏ·¯°¡ ¼±ÅÃÇÑ ¾×¼¼½º Ç÷£¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ±¸¼º ¸Å°³º¯¼ö ¸ñ·ÏÀÔ´Ï´Ù.
¾×¼¼½º Ç÷£À» ¼±ÅÃÇÒ ¶§, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº µð½ºÅ©·ÎºÎÅÍ ¹öÆÛ Ç®·Î ÆäÀÌÁö¸¦ °¡Á®¿À´Â ÀÔÃâ·Â ºñ¿ëÀ» °í·ÁÇÕ´Ï´Ù. °è»ê °úÁ¤À» ÅëÇØ ÃÖÀûÈ ¾Ë°í¸®ÁòÀº Á¶È¸¸¦ ÃæÁ·½ÃŰ´Â µ¥ ÇÊ¿äÇÑ ÀÔÃâ·Â Ƚ¼ö¸¦ ÃßÁ¤ÇÕ´Ï´Ù. ÀÌ¹Ì ¹öÆÛ Ç®¿¡ µé¾î ÀÖ´Â ÆäÀÌÁöÀÇ ÇàÀ» Àд µ¥¿¡´Â Ãß°¡ ÀÔÃâ·ÂÀÌ ÇÊ¿äÇÏÁö ¾Ê±â ¶§¹®¿¡, ÀÌ·¯ÇÑ ¿¹Ãø¿¡´Â ¹öÆÛ Ç® »ç¿ë¿¡ ´ëÇÑ ¿¹»óÄ¡µµ Æ÷ÇԵ˴ϴÙ. ÃÖÀûÈ ¾Ë°í¸®ÁòÀº ¹öÆÛ Ç®¿¡ ÆäÀÌÁö°¡ ÀÖ´ÂÁö¸¦ ÃßÁ¤ÇÒ ¶§ BUFFERPOOLS ½Ã½ºÅÛ Ä«Å»·Î±× Å×À̺íÀÇ npages Ä÷³ °ªÀ» °í·ÁÇÕ´Ï´Ù.
Å×À̺íÀ» Àд µ¥ µå´Â ÀÔÃâ·Â ºñ¿ëÀº ´ÙÀ½°ú °°Àº ¿ä¼Ò¿¡ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ½À´Ï´Ù.
ÇÑ µ¥ÀÌÅͺ£À̽º¿¡ µÑ ÀÌ»óÀÇ ¹öÆÛ Ç®ÀÌ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ¶ÇÇÑ, ÇÑ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼Ç¿¡ µÑ ÀÌ»óÀÇ ¹öÆÛ Ç®ÀÌ ÀÖÀ» ¼öµµ ÀÖ½À´Ï´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ °¢ ÆÄƼ¼Ç¿¡ ¼±ÅÃÀûÀ¸·Î ¹öÆÛ Ç®À» Ãß°¡Çϰųª, ¸ðµç ÆÄƼ¼Ç¿¡ ¹öÆÛ Ç®À» Ãß°¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽º¿¡¼´Â BUFFERPOOLS ¹× BUFFERPOOLSNODE ½Ã½ºÅÛ Ä«Å»·Î±× Å×À̺íÀÇ npages Ä÷³ÀÌ ÃßÁ¤¿¡ »ç¿ëµË´Ï´Ù.
dft_degree ±¸¼º ¸Å°³º¯¼ö´Â CURRENT DEGREE Ư¼ö ·¹Áö½ºÅÍ ¹× DEGREE ¹ÙÀÎµå ¿É¼Ç¿¡ ´ëÇÑ ±âº»°ªÀ» ÁöÁ¤ÇÕ´Ï´Ù. 1 °ªÀº ÆÄƼ¼Ç ³» º´·Ä 󸮰¡ ¾øÀ½À» ÀǹÌÇÕ´Ï´Ù. -1 °ªÀº ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ÇÁ·Î¼¼½º ¼ö ¹× Á¶È¸ À¯Çü¿¡ ÀǰÅÇÏ¿© ÆÄƼ¼Ç ³»ÀÇ º´·Ä ó¸® Á¤µµ¸¦ °áÁ¤ÇÑ´Ù´Â ÀǹÌÀÔ´Ï´Ù.
SQL Á¶È¸¸¦ ÄÄÆÄÀÏÇÒ ¶§¿¡´Â, Á¶È¸ ÃÖÀûÈ Å¬·¡½º¸¦ »ç¿ëÇÏ¿© ´Ù¾çÇÑ ¼öÁØÀÇ ÃÖÀûȸ¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. Àû´çÇÑ Á¶È¸ ÃÖÀûÈ Å¬·¡½º ¼±Åÿ¡ ´ëÇØ¼´Â ÃÖÀûÈ Å¬·¡½º Á¶Á¤¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
avg_appls ¸Å°³º¯¼ö´Â, ¼±ÅÃµÈ ¾×¼¼½º Ç÷£¿¡ ´ëÇÏ¿© ·±Å¸ÀÓÀÌ ¾ó¸¶³ª ¸¹Àº ¹öÆÛ Ç®ÀÌ »ç¿ë °¡´ÉÇÑÁö¸¦ SQL ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ¿¹ÃøÇÏ´Â µ¥ µµ¿òÀ» ÁÝ´Ï´Ù. ÀÌ ¸Å°³º¯¼öÀÇ °ªÀÌ ³ôÀ»¼ö·Ï ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ¹öÆÛ Ç® »ç¿ë¿¡ ´õ º¸¼öÀûÀÎ Á¶È¸ÀÇ ¾×¼¼½º Ç÷£À» ¼±ÅÃÇÏ´Â µ¥ ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¸Å°³º¯¼ö¿¡ 1ÀÇ °ªÀ» ³ÖÀ¸¸é ÃÖÀûÈ ¾Ë°í¸®ÁòÀº ¹öÆÛ Ç® Àüü¸¦ ÀÀ¿ëÇÁ·Î±×·¥¿¡ »ç¿ë °¡´ÉÇÑ °ÍÀ¸·Î Ãë±ÞÇÏ°Ô µË´Ï´Ù.
Á¤·Ä½Ã ÃÖÁ¾ Á¤·ÄµÈ µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇØ Àӽà Å×À̺íÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº °æ¿ì, Á¤·ÄÀº "ÆÄÀÌÇÁ Á¤·Ä(piped sort)"·Î °£Áֵ˴ϴÙ. Áï, Á¤·ÄÀÇ °á°ú°¡ ´ÜÀÏ, ¼øÂ÷ ¾×¼¼½º·Î ÀнÀ´Ï´Ù. ÆÄÀÌÇÁ Á¤·Ä(piped sort)Àº ºñÆÄÀÌÇÁ Á¤·Äº¸´Ù ¼º´É¿¡¼ ´õ ÁÁÀº °á°ú¸¦ º¸¿©ÁֹǷΠ°¡´ÉÇÏ¸é »ç¿ëµË´Ï´Ù(ÆÄÀÌÇÁ Á¤·Ä°ú ºñ±³ÇÏ¿© ºñÆÄÀÌÇÁ Á¤·Ä Á¤ÀÇ´Â Á¤·ÄÀÌ ÃÖÀûÈ ¾Ë°í¸®Áò¿¡ ¹ÌÄ¡´Â ¿µÇâ¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ).
¾×¼¼½º Ç÷£À» ¼±ÅÃÇÒ ¶§, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº Á¤·ÄÀÌ ¾Æ·¡¿Í °°Àº ¹æ¹ýÀ¸·Î ÆÄÀÌÇÁµÇ´ÂÁö ¿©ºÎ¸¦ Æò°¡ÇÏ´Â µ¥ µå´Â ºñ¿ëÀ» Æ÷ÇÔÇÏ¿© Á¤·Ä Á¶ÀÛ¿¡ µå´Â ºñ¿ëÀ» ÃßÁ¤ÇÕ´Ï´Ù.
»ç¿ëÁßÀÎ ºÐ¸® ·¹º§(µ¿½Ã¼º ÂüÁ¶)ÀÌ ¹Ýº¹ Àбâ(RR)ÀÎ °æ¿ì, SQL ÃÖÀûÈ ¾Ë°í¸®ÁòÀº locklist ¹× maxlocks ¸Å°³º¯¼ö °ªÀ» °í·ÁÇÏ¿© Çà ·¹º§ Àá±ÝÀÌ Å×À̺í Àá±Ý ·¹º§·Î ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵åµÉ °ÍÀÎÁö¸¦ °áÁ¤ÇÕ´Ï´Ù. ¸¸ÀÏ Å×ÀÌºí ¾×¼¼½º¿¡ ´ëÇÑ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵尡 ¹ß»ýÇϸ®¶ó°í ¿¹ÃøµÇ´Â °æ¿ì, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº Á¶È¸ ½ÇÇàÁß¿¡ Àá±Ý ·¹º§ ÀÚµ¿ ¾÷±×·¹À̵忡 ´ëÇÑ ¿À¹öÇìµå¸¦ ¹ß»ý½ÃŰ±âº¸´Ù´Â ¾×¼¼½º Ç÷£¿¡ ´ëÇÑ Å×ÀÌºí ·¹º§ Àá±ÝÀ» ¼±ÅÃÇÕ´Ï´Ù.
ƯÁ¤ Á¶ÀÛÀ» ¼öÇàÇÏ´Â µ¥ µå´Â ºñ¿ëÀ» ¿¹ÃøÇϱâ À§ÇØ SQL ÃÖÀûÈ ¾Ë°í¸®Áò¿¡¼ CPU ¼Óµµ°¡ »ç¿ëµË´Ï´Ù. ÃÖÀûÈ ¾Ë°í¸®ÁòÀº ´Ù¾çÇÑ ÀÔÃâ·Â ºñ¿ë ¿¹Ãø°ú ´õºÒ¾î ÀÌ·¯ÇÑ CPU ºñ¿ë ¿¹ÃøÀ» »ç¿ëÇÏ¿© Á¶È¸¸¦ À§ÇÑ ÃÖÀûÀÇ ¾×¼¼½º Ç÷£À» ¼±ÅÃÇÕ´Ï´Ù.
¸Ó½ÅÀÇ CPU ¼Óµµ´Â ¼±ÅÃµÈ ¾×¼¼½º Ç÷£¿¡ Å« ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ±¸¼º ¸Å°³º¯¼ö´Â µ¥ÀÌÅͺ£À̽º°¡ ¼³Ä¡ ¶Ç´Â ÀÌÁÖµÉ ¶§ ÀÚµ¿À¸·Î ÀûÁ¤ °ªÀ¸·Î ¼³Á¤µË´Ï´Ù. Å×½ºÆ® ½Ã½ºÅÛ¿¡ ½ÇÁ¦ ȯ°æÀ» ¸ðµ¨¸µÇϰųª Çϵå¿þ¾î»óÀÇ º¯°æ»çÇ×ÀÌ °¡Á®¿Ã ¿µÇâÀ» Æò°¡ÇÏ´Â °æ¿ì¿¡¸¸, ÀÌ ¸Å°³º¯¼ö¸¦ Á¶Á¤ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. ´Ù¸¥ Çϵå¿þ¾î ȯ°æÀ» ¸ðµ¨¸µÇϱâ À§ÇØ ÀÌ ¸Å°³º¯¼ö¸¦ »ç¿ëÇÔÀ¸·Î½á, ÇØ´ç ȯ°æ¿¡ ´ëÇØ ¼±ÅÃµÉ ¾×¼¼½º Ç÷£À» °ËÅäÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.
¸í·É¹® Èü(heap)ÀÇ Å©±â´Â ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ ´Ù¾çÇÑ ¾×¼¼½º °æ·Î¸¦ ¼±ÅÃÇÏ´Â µ¥ ¿µÇâÀ» ³¢Ä¡Áö ¾Ê½À´Ï´Ù. ±×·¯³ª, º¹ÀâÇÑ SQL¹®¿¡ ¼öÇàÇÏ°Ô µÉ ÃÖÀûÈÀÇ Á¤µµ¿¡´Â ¿µÇâÀ» ¹ÌÄ¥ ¼ö ÀÖ½À´Ï´Ù.
stmtheap ¸Å°³º¯¼ö°¡ ÃæºÐÈ÷ Å« °ªÀ¸·Î ¼³Á¤µÇÁö ¾ÊÀ¸¸é, ¸í·É¹® 󸮿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸Þ¸ð¸®°¡ ÃæºÐÇÏÁö ¾ÊÀ½À» ³ªÅ¸³»´Â SQL °æ°í¸¦ ¹Þ°Ô µË´Ï´Ù. ¿¹¸¦ µé¾î, SQLCODE +437(SQLSTATE 01602)Àº ¸í·É¹®À» ÄÄÆÄÀÏÇÏ´Â µ¥ »ç¿ëµÈ ÃÖÀûÈÀÇ ¾çÀÌ Á¶È¸ ÃÖÀûÈ Å¬·¡½º¸¦ ¸í½ÃÇÒ ¶§ ¿ä±¸ÇÑ ¾çº¸´Ù ÀÛÀ½À» ³ªÅ¸³À´Ï´Ù. ÃÖÀûÈ Å¬·¡½º Á¶Á¤¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.
ÀÌ ¸Å°³º¯¼ö°¡ "ANY" °ªÀ» °¡Áö´Â °æ¿ì, ÃÖÀûÈ ¾Ë°í¸®ÁòÀº »ç¿ëµÉ º´·Ä¼º Á¤µµ¸¦ ¼±ÅÃÇÕ´Ï´Ù. "ANY"¸¦ Á¦¿ÜÇÑ °ªÀÌ ³ªÅ¸³ª´Â °æ¿ì, »ç¿ëÀÚ ÁöÁ¤ °ªÀ» »ç¿ëÇÏ¿© ÀÀ¿ëÇÁ·Î±×·¥¿¡¼ º´·Ä ó¸® Á¤µµ¸¦ °áÁ¤ÇÕ´Ï´Ù.
ÃÖÀûÈ ¾Ë°í¸®ÁòÀÌ Åë½Å ´ë¿ªÆøÀ» »ç¿ëÇÏ¿© ¾×¼¼½º °æ·Î¸¦ °áÁ¤ÇÕ´Ï´Ù. ÃÖÀûÈ ¾Ë°í¸®ÁòÀº ÀÌ ¸Å°³º¯¼öÀÇ °ªÀ» »ç¿ëÇÏ¿© ÆÄƼ¼ÇÀÌ ³ª´©¾îÁø µ¥ÀÌÅͺ£À̽ºÀÇ µ¥ÀÌÅͺ£À̽º ÆÄƼ¼Ç ¼¹ö°£ÀÇ Á¶ÀÛÀ» ½ÇÇàÇÏ´Â ºñ¿ëÀ» »êÃâÇÕ´Ï´Ù.
Ãß°¡ Á¤º¸´Â ±¸¼º ¸Å°³º¯¼ö Á¶Á¤¿¡¼ ÀÚ¼¼ÇÑ ³»¿ëÀ» ÂüÁ¶ÇϽʽÿÀ.