·Î±×ÀÎ | ȸ¿ø°¡ÀÔ (´º½º·¹ÅͽÅû) | SITEMAP
   
  °³¹ß   Ç÷§Æû   ½Ã½ºÅÛ   ¸Å´ÏÁö¸ÕÆ®   Àüü±â»ç  
ÀÚ¹Ù
´å³Ý
C/C++
DB
¸ðµ¨¸µ
À¥°³¹ß
±âŸ
À¯´Ð½º/¸®´ª½º
À©µµ¿ì
±âŸ
¼­¹ö
³×Æ®¿öÅ©
º¸¾È
±âŸ
BM
PM
±âŸ
 
±â»çÀúÀå
0
 
¸¶ÀÌ ½ºÅ©·¦
½ÇÀü Å×½ºÆ®¿Í »ç·Ê·Î º¸´Â DB ¼º´É Æ©´× 2
MS ¿À¶óŬ ODBC µå¶óÀ̹ö vs. OLE¿ë ¿À¶óŬ ¿ÀºêÁ§Æ®
±èö°¢(µ¥ÀÌÅͺ£À̽º ÆÛÆ÷¸Õ½º Æ©³Ê)   2005/11/08
1ȸ ó¸® À§Ä¡º° DB ¼º´É º¥Ä¡¸¶Å©
2ȸ MS ¿À¶óŬ ODBC µå¶óÀ̹ö VS. OLE¿ë ¿À¶óŬ ¿ÀºêÁ§Æ®
[Áöµð³ÝÄÚ¸®¾Æ]
¿¬Àç °¡À̵å¿î¿µÃ¼Á¦ | AIX 5.2 64ºñÆ®, À©µµ¿ì XP ÇÁ·Î
°³¹ßµµ±¸ | MS ¿ÀÇǽº 2000 VBA, ¿À¶óŬ PL/SQL
±âÃÊÁö½Ä | ¿À¶óŬ SQL ¹× PL/SQL, ºñÁÖ¾ó º£ÀÌÁ÷ DB ÇÁ·Î±×·¥ ÀÛ¼º¿¡ ¿ä±¸µÇ´Â ±âº» Áö½Ä
ÀÀ¿ëºÐ¾ß | DB ÇÁ·Î±×·¥ ÀϹÝ
µ¥ÀÌÅͺ£À̽º¿¡ Á¢¼ÓÇØ Äõ¸®¸¦ ¼öÇàÇÏ°í ±× °á°ú¸¦ Àü´Þ¹Þ´Âµ¥ »ç¿ëÇÏ´Â ±â¼úÀ» DAT(Data Access Technology)¶ó°í ÇÑ´Ù. DAT´Â º¥´õº°·Î ´Ù¾çÇÑ ±â¼úÀ» ¼±º¸¿´´Âµ¥, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®(ÀÌÇÏ MS)´Â ODBC(Open DataBase Connectivity), ADO(ActiveX Data Objects) µîÀ» Æ÷ÇÔÇÏ´Â MDAC(Microsoft Data Access Components), ADO .NET µîÀÇ ÇÁ·Î±×·¡¹Ö ÀÎÅÍÆäÀ̽º¸¦ Á¦°øÇϸç, ¿À¶óŬÀº OO4O(Oracle Objects for OLE)¸¦ Á¦°øÇÑ´Ù(ÆíÀÇ»ó À̹ø ¿¬Àç¿¡¼­´Â À̵éÀ» DAC(Data Access Component)·Î ÁöĪÇÑ´Ù). À̹ø ±Û¿¡¼­´Â Áö³­ È£¿Í ¸¶Âù°¡Áö·Î ¿¢¼¿ÀÇ VBA(Visual Basic for Applications) ȯ°æÀ» ÅëÇØ ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ïº¸¸ç, MSÀÇ MDAC ÄÄÆ÷³ÍÆ®ÀÎ ADO¿Í ¿À¶óŬÀÇ OO4O¸¦ »ç¿ëÇØ ½ÇÁ¦ Å×½ºÆ®¸¦ ÇØº»´Ù.

ADO´Â OLE(Object Linking and Embedding) DB¸¦ ÀÌ¿ëÇØ °ü°èÇü µ¥ÀÌÅͺ£À̽º»Ó¸¸ ¾Æ´Ï¶ó ÆÄÀϰú °°Àº ºñ°ü°èÇü µ¥ÀÌÅÍ ¼Ò½º¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù. OLE DB´Â ÇÁ·Î¹ÙÀÌ´õ(provider)¶ó´Â ÄÄÆ÷³ÍÆ®¸¦ ÅëÇØ µ¥ÀÌÅÍ ¼Ò½º·ÎºÎÅÍ ÀڷḦ Á¦°øÇÏ´Â ¿ªÇÒÀ» ¼öÇàÇϴµ¥ ¼Ò½ºº°·Î ¼­·Î ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õ°¡ »ç¿ëµÈ´Ù. Áö³­ ¿¬Àç¿¡¼­´Â MSÀÇ DAC·Î ADO¸¦ »ç¿ëÇßÀ¸¸ç ÇÁ·Î¹ÙÀÌ´õ·Î´Â ¿À¶óŬÀÇ OraOLEDB(Oracle Provider for OLE DB)¸¦ »ç¿ëÇß´Ù. À̹ø¿¡´Â MSDORA(Microsoft Oracle ODBC Driver and OLEDB) ÇÁ·Î¹ÙÀÌ´õµµ ÇÔ²² »ç¿ëÇØ µ¿ÀÏÇÑ È¯°æ, µ¿ÀÏÇÑ ¼öÇà¹æ½Ä¿¡¼­ ÇÁ·Î¹ÙÀÌ´õ°¡ ´Ù¸¥ °æ¿ìÀÇ ¼º´ÉÀÌ ¾î¶»°Ô Â÷À̰¡ ³ª´ÂÁö¸¦ »ìÆìº»´Ù.

ÇÁ·Î¹ÙÀÌ´õÀÇ Á¦°øÀÚ°¡ MSµç ¿À¶óŬÀÌµç ¸ðµÎ ADOÀÇ ÀÏÁ¾À̹ǷΠÀÚ·á 󸮸¦ À§ÇÑ ¼Ò½º´Â µ¿ÀÏÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¹Ý¸é ¿À¶óŬ¿¡¼­´Â À©µµ¿ì °³¹ßȯ°æ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â º°µµÀÇ DAC, Áï OO4O¸¦ Á¦°øÇϴµ¥ ¹®¹ýµµ ADO¿Í ´Ù¼Ò Â÷À̰¡ ÀÖ´Ù. µû¶ó¼­ ADO¸¦ »ç¿ëÇϸé ÇÁ·Î¹ÙÀÌ´õ°¡ º¯°æµÇ´õ¶óµµ ÇÁ·Î±×·¥ ÀÚü¿¡ ¿µÇâÀÌ ¾øÁö¸¸, ADO¸¦ »ç¿ëÇÏ´Ù°¡ OO4O·Î º¯°æÇϰųª ±× ¹Ý´ëÀÇ °æ¿ì¿¡´Â µ¥ÀÌÅͺ£À̽º ¾×¼¼½º¸¦ ´ã´çÇÏ´Â ºÎºÐÀ» ¾Ë¸Â°Ô ¼öÁ¤ÇØ¾ß ÇÑ´Ù.

OO4O´Â ADO¿Í´Â ´Þ¸® ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¸À» À§ÇØ °³¹ßµÆ±â ¶§¹®¿¡ ADOº¸´Ù ´õ ¸¹Àº ±â´ÉÀ» Áö¿øÇÏ¸ç ¿À¶óŬ¿¡¼­ ´õ ÁÁÀº ¼º´ÉÀ» ³»´Â °ÍÀ¸·Î ¾Ë·ÁÁ® ÀÖ´Ù. ÀÌ¿¡ ´ëÇØ¼­´Â ½ÇÁ¦ Å×½ºÆ®¸¦ ÅëÇØ ADO¸¦ »ç¿ëÇÏ´Â °æ¿ì¿Í OO4O¸¦ »ç¿ëÇÏ´Â °æ¿ì ¾î¶² ¼º´É Â÷À̸¦ º¸¿©ÁÖ´ÂÁö »ìÆìº¼ °ÍÀÌ´Ù.

Å×½ºÆ® ȯ°æ°ú ¹æ¹ý
À̹ø Å×½ºÆ®´Â ´ÙÀ½°ú °°Àº ȯ°æ¿¡¼­ ¼öÇàÇß´Ù.

DB ¼­¹ö
CPU : 1.7Hz ¡¿ 8EA
¸Þ¸ð¸® : 16GB
¿À¶óŬ ¼­¹ö : ¿À¶óŬ 9i ¿£ÅÍÇÁ¶óÀÌÁî ¿¡µð¼Ç ¸±¸®Áî 9.2.0.4.0 64ºñÆ®
¿î¿µÃ¼Á¦ : AIX 5.2 64ºñÆ®

Ŭ¶óÀ̾ðÆ®
CPU : ÀÎÅÚ ÆæÆ¼¾ö M 1.5GHz ¡¿ 1EA
¸Þ¸ð¸® : 1GB
¿À¶óŬ Ŭ¶óÀÌ¾ðÆ® : ¿À¶óŬ 10g 10.1.0.2
¿î¿µÃ¼Á¦ : À©µµ¿ì XP ÇÁ·ÎÆä¼Å³Î

Å×½ºÆ®´Â 2¸¸ °ÇÀÇ ÀڷḦ Å×ÀÌºí¿¡ InsertÇÏ´Â ÀÛ¾÷À¸·Î Å×½ºÆ®¸¦ À§ÇØ Number TypeÀ» °®´Â 2°³ÀÇ Ä÷³°ú Varchar2 TypeÀ» °®´Â 1°³ÀÇ Ä÷³¿¡ Á¤ÇØÁø ±ÔÄ¢À¸·Î 2¸¸ °ÇÀ» ÀÔ·ÂÇÏ´Â ¹æ½ÄÀ¸·Î ¼öÇàÇß´Ù. »ç¿ëµÇ´Â DAC º°·Î °¢°¢ <ÄÉÀ̽º 1>ºÎÅÍ <ÄÉÀ̽º 3>±îÁö´Â Áö³­ È£¿Í µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î Å×½ºÆ®ÇßÀ¸¸ç OO4O¸¦ »ç¿ëÇÑ <ÄÉÀ̽º 4>°¡ Ãß°¡µÆ´Ù.

<ÄÉÀ̽º 1> Ŭ¶óÀÌ¾ðÆ®¿¡¼­ 2¸¸ °ÇÀÇ ÀڷḦ µ¥ÀÌÅͺ£À̽º·Î Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 2> µ¥ÀÌÅͺ£À̽º¿¡¼­ 2¸¸ °ÇÀÇ ÀڷḦ Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 3> µ¥ÀÌÅͺ£À̽º¿¡¼­ 2¸¸ °ÇÀÇ ÀڷḦ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 4> Ŭ¶óÀÌ¾ðÆ®¿¡¼­ 2¸¸ °ÇÀÇ ÀڷḦ »ý¼ºÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º¿¡ Array ¹æ½ÄÀ¸·Î Insert

<ÄÉÀ̽º 4>¸¦ À§ÇØ <È­¸é 1>ó·³ ¿¢¼¿ ºñÁÖ¾ó º£ÀÌÁ÷ ¿¡µðÅÍÀÇ µµ±¸ ¸Þ´ºÀÇ ÂüÁ¶ È­¸é¿¡¼­ ¡®Oracle InProc Server 5.0 Type Library¡¯¸¦ ¼±ÅÃÇÑ´Ù. Å×½ºÆ®¿¡ »ç¿ëµÈ Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥°ú ÃøÁ¤ ¹æ½ÄÀº ¸ðµÎ µ¿ÀÏÇϹǷΠ¿©±â¼­´Â ¹Ù·Î °¢ DACº° Å×½ºÆ® °á°ú¸¦ ºÐ¼®Çغ¸ÀÚ.

<È­¸é 1> VBA ȯ°æ¿¡¼­ ADO¸¦ »ç¿ëÇϱâ À§ÇÑ ¼³Á¤

ÄÉÀ̽º 1, Ŭ¶óÀÌ¾ðÆ®¿¡¼­ DB·Î Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 1>Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ »ý¼ºÇØ »ý¼º ½ÃÁ¡¿¡¼­ µ¥ÀÌÅͺ£À̽º¿¡ ÀÛ¾÷ ¿äûÀ» ÇÏ´Â ¹æ½ÄÀ¸·Î ÀÌ·ç¾îÁø´Ù. Ŭ¶óÀÌ¾ðÆ®¿¡ ÀÚ·á°¡ ¹Ýº¹ÀûÀ¸·Î »ý¼ºµÇ¸é µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¿äûµµ ¹Ýº¹ÀûÀ¸·Î ÀÌ·ç¾îÁö°í ±×¸¦ ÅëÇØ ³×Æ®¿öÅ© I/O ¹× µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ ¼öÇà ¿äûÀÌ ¸¹ÀÌ ¹ß»ýÇÏ´Â ±¸Á¶ÀÌ´Ù. <ÄÉÀ̽º 1> Å×½ºÆ®¿¡ ÇÊ¿äÇÑ ¼Ò½º´Â ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. °¢°¢ MSDORA, OraOLEDB, OO4OÀÇ ¼øÀ¸·Î Ç¥½ÃÇß´Ù.

<±×¸² 1> <ÄÉÀ̽º 1>ÀÇ ¼öÇà¹æ½Ä

¸ÕÀú <Ç¥ 1>°ú °°ÀÌ ¼Ò¿ä½Ã°£À» ºñ±³Çغ¸ÀÚ. ¿©±â¼­ CPU Ç׸ñÀº ¼ø¼öÇÏ°Ô ÀÚ·á 󸮿¡ »ç¿ëµÈ ½Ã°£À̸ç, Elapsed Ç׸ñÀº CPU °ª¿¡ µ¥ÀÌÅͺ£À̽º Wait °ªÀÌ Ãß°¡µÈ °ªÀÌ´Ù(ÀÌ ¶§ µ¥ÀÌÅͺ£À̽º Wait °ªÀº µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀÚ·á ó¸® °úÁ¤¿¡¼­ ¹ß»ýÇÏ´Â Wait·Î <Ç¥ 1>ÀÇ Wait Ç׸ñ°ú´Â ´Ù¸¥ °ÍÀÌ´Ù). Wait Ç׸ñÀº Level 8ÀÇ Æ®·¹À̽º °á°ú·Î Ãâ·ÂµÈ Wait ½Ã°£ÀÇ ÇÕÀÌ´Ù.

<Ç¥ 1> <ÄÉÀ̽º 1>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³

<ÄÉÀ̽º 1>ÀÇ °æ¿ì ¹Ýº¹µÇ´Â ³×Æ®¿öÅ© I/O·Î ÀÎÇÑ Áö¿¬½Ã°£ÀÌ °¡Àå Áß¿äÇÑ ¿ä¼ÒÀ̹ǷΠÀÌ ½Ã°£À» ÃøÁ¤Çϱâ À§ÇØ ÀϹÝÀûÀ¸·Î ´ë±â½Ã°£À¸·Î °£ÁÖµÇÁö ¾Ê´Â Wait(¿¹¸¦ µé¸é SQL*Net message from client)°¡ Áß¿äÇÏ°Ô »ç¿ëµÆÀ¸¸ç Àüü ¼öÇà½Ã°£Àº CPU Ç׸ñ°ú Wait Ç׸ñÀÇ ÇÕÀ¸·Î Ç¥½ÃÇß´Ù. Å×½ºÆ® ½ÃÀÛ ½ÃÁ¡¿¡¼­ µ¥ÀÌÅͺ£À̽º¿Í ¿¬°áµÇ°í Á¾·á ½ÃÁ¡¿¡ ¿¬°áÀÌ ²÷¾îÁö¹Ç·Î ÀϹÝÀûÀ¸·Î SQL*Net message from client, Áï »ç¿ëÀÚ¿¡ ÀÇÇÑ À¯È޽ð£Àº ¹ß»ýÇÏÁö ¾Ê¾Ò´Ù.

ÀÌÁ¦ <Ç¥ 1>ÀÇ °á°úÄ¡¸¦ ÇØ¼®Çغ¸ÀÚ. µ¿ÀÏÇÑ ¹æ½ÄÀ¸·Î ¼öÇàÇßÀ½¿¡µµ ºÒ±¸ÇÏ°í »ç¿ëÇÑ µå¶óÀ̹öÀÇ Á¾·ù¿¡ µû¶ó ÃÖ°í 4.5¹èÀÇ Â÷À̰¡ ³ª°í ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ¼ø¼ö ó¸® ½Ã°£¿¡¼­´Â ¾à 2¹è Á¤µµ ¹Û¿¡ Â÷À̰¡ ³ªÁö ¾Ê¾ÒÁö¸¸ SQL*Net message from client¶ó´Â Wait °ªÀÌ ÀǹÌÀÖ´Â Wait ½Ã°£À¸·Î °£ÁֵǸ鼭 Àüü ¼öÇà½Ã°£¿¡¼­ Å« Â÷À̸¦ ³ªÅ¸³Â´Ù.

<È­¸é 2> <ÄÉÀ̽º 1> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³

<È­¸é 2>´Â Æ®·¹À̽º ÆÄÀÏ ³»¿ë Áß Àüü Wait Ç׸ñ ºÎºÐÀÌ´Ù. Times Waited´Â Wait À̺¥Æ®°¡ ¹ß»ýÇÑ È½¼öÀ̸ç Max. Wait´Â ¹ß»ýµÈ À̺¥Æ® Áß ÃÖ´ë ´ë±â½Ã°£ÀÌ´Ù. Total Waited´Â ÃÑ ´ë±â½Ã°£À» ÀǹÌÇÑ´Ù. <È­¸é 2>¸¦ º¸¸é SQL*Net message to client¿Í SQL*Net message from client¿¡¼­¸¸ Wait°¡ ¹ß»ýÇÑ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. SQL*Net message to client´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡¼­ ¸Þ½ÃÁö¸¦ º¸³»´Âµ¥±îÁö ¼Ò¿äµÈ ½Ã°£À̸ç, SQL*Net message from client´Â SQL*Net message to client ÀÌÈÄ Å¬¶óÀÌ¾ðÆ®·ÎºÎÅÍ ¸Þ½ÃÁö°¡ ¿À±â±îÁöÀÇ ¼Ò¿ä½Ã°£ÀÌ´Ù.

¿©±â¿¡´Â µ¥ÀÌÅͺ£À̽ºÀÇ ¸Þ½ÃÁö°¡ ³×Æ®¿öÅ©¸¦ ÅëÇØ Ŭ¶óÀÌ¾ðÆ®¿¡ µµÂøÇϱâ±îÁöÀÇ ¼Ò¿ä½Ã°£, Ŭ¶óÀÌ¾ðÆ®¿¡¼­ÀÇ Ã³¸®½Ã°£ ¹× ´ë±â½Ã°£, Ŭ¶óÀ̾ðÆ®ÀÇ ¸Þ½ÃÁö°¡ ³×Æ®¿öÅ©¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º ¼­¹ö·Î µµÂøÇÏ´Â ½Ã°£ µîÀÌ Æ÷ÇԵȴÙ.

<È­¸é 2>¸¦ º¸¸é SQL*Net message from client¿¡ µû¸¥ Wait ½Ã°£ÀÌ SQL*Net message to clientº¸´Ù ¿ùµîÈ÷ Å©°Ô ³ªÅ¸³­ °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. MSDORAÀÇ °æ¿ì Times Waited°¡ OraOLEDB, OO4O¿¡ ºñÇØ 5¹è°¡ ¸¹±â ¶§¹®¿¡ ½Ã°£µµ ¾à 5¹è °¡·® ´õ ¸¹ÀÌ ¼Ò¿äµÆ´Ù.

<È­¸é 3> <ÄÉÀ̽º 1>ÀÇ µ¥ÀÌÅͺ£À̽º ³»ºÎ ÀÛ¾÷ ³»¿ë

´ÙÀ½À¸·Î <È­¸é 3>°ú °°ÀÌ µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ ÀÛ¾÷ ³»¿ëÀ» ¾Ë¾Æº¸ÀÚ. ¼öÇà½Ã°£ ºñ±³¸¦ ÅëÇØ Wait °ª ƯÈ÷ SQL*Net message from client °ª¿¡¼­ ¸¹Àº Â÷À̸¦ º¸¿´À¸¹Ç·Î ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¸¦ ÅëÇØ ¿øÀÎÀ» ã¾Æº¸ÀÚ. <È­¸é 3>ÀÇ SQL*Net roundtrips to/from client ÁöÇ¥¸¦ º¸¸é MSDORA°¡ OraOLEDB, OO4Oº¸´Ù 5¹è ¸¹Àº ³×Æ®¿öÅ© I/O Ƚ¼ö¸¦ º¸À̰í ÀÖÀ½À» È®ÀÎÇÒ ¼ö ÀÖ´Ù. ³×Æ®¿öÅ©¸¦ ÅëÇÑ ÀÚ·á À̵¿·®µµ 2¹è °¡·® ³ô´Ù. °á·ÐÀûÀ¸·Î ³×Æ®¿öÅ©¸¦ ÅëÇØ ¾ó¸¶³ª ¸¹Àº ÀÚ·á°¡ À̵¿Çߴ°¡ º¸´Ù´Â ¾ó¸¶³ª ¸¹Àº Ƚ¼ö·Î À̵¿Çߴ°¡°¡ Àüü ¼öÇà½Ã°£¿¡ °áÁ¤ÀûÀÎ ¿µÇâÀ» ³¢ÃÆÀ½À» ¾Ë ¼ö ÀÖ´Ù.

<±×¸² 2> <ÄÉÀ̽º 2>ÀÇ ¼öÇà¹æ½Ä

OraOLEDB¿Í OO4O´Â °¡Àå ¸¹Àº ½Ã°£À» ¼Ò¿äÇÑ ³×Æ®¿öÅ© I/O¸é¿¡¼­ °ÅÀÇ ºñ½ÁÇØ Å« Â÷À̰¡ ¾ø´Ù. ÇÏÁö¸¸ <È­¸é 3>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³ Ç׸ñÀ» ÀÚ¼¼È÷ º¸¸é OraOLEDB°¡ OO4Oº¸´Ù Á¶±Ý ´õ ºü¸£°Ô 󸮵ÆÀ½À» ¾Ë ¼ö ÀÖ´Ù. ¿©±â¿£ ¸î °¡Áö ÀÌÀ¯°¡ Àִµ¥ Parse Ƚ¼ö, Cur sor Open Ƚ¼ö¿¡¼­ OraOLEDB°¡ ´õ È¿À²ÀûÀ¸·Î ÀÛ¾÷Ç߱⠶§¹®ÀÌ´Ù. Parse Ƚ¼ö°¡ Àû´Ù´Â °ÍÀº library cache, shared pool µîÀÇ ÀÚ¿øÀ» Àû°Ô »ç¿ëÇØ ½ÇÇà ½Ã°£À» ´ÜÃàÇÏ´Â È¿°ú°¡ ÀÖ´Ù.

¶ÇÇÑ OraOLEDB, OO4O°¡ MSDORAº¸´Ù recursive calls ÁöÇ¥ Ãø¸é¿¡¼­ ´õ ¸¹Àº ÀÚ¿øÀ» »ç¿ëÇÑ °ÍÀ¸·Î ³ªÅ¸³µÀ¸¸ç ±×·Î ÀÎÇØ CPU »ç¿ë ½Ã°£(recursive cpu usage)µµ ´õ ¸¹Àº °ÍÀ¸·Î ³ªÅ¸³µ´Ù.

ÄÉÀ̽º 2, DB¿¡¼­ Loop ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 2>´Â Å×ÀÌºí¿¡ InsertÇÒ ÀڷḦ µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡¼­ »ý¼ºÇϸç, Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ Stored Procedure¸¦ È£ÃâÇÏ´Â ¹æ½ÄÀ¸·Î ½ÇÇàµÈ´Ù(<±×¸² 2>). µ¥ÀÌÅͺ£À̽º ¼­¹ö°¡ ¾÷¹« ·ÎÁ÷À» ó¸®Çϸç, ÀÛ¾÷ÀÌ ³¡³¯ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º¿¡ ÀÛ¾÷ ¼öÇàÀ» ¿äûÇÏ´Â ¹æ½ÄÀÌ´Ù. <ÄÉÀ̽º 2>¿¡ »ç¿ëµÈ ¼Ò½º´Â Áö¸é °ü°è»ó ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù.

<Ç¥ 2> <ÄÉÀ̽º 2>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³

<Ç¥ 2>¸¦ º¸¸é <ÄÉÀ̽º 2>´Â <ÄÉÀ̽º 1>°ú ´Þ¸® µå¶óÀ̹ö°£ ÆíÂ÷°¡ Å©Áö ¾ÊÀ½À» ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ°í µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀÚ·á »ý¼º°ú Å×ÀÌºí¿¡ »ðÀÔ ÀÛ¾÷ÀÌ ³¡³­ ÈÄ Å¬¶óÀÌ¾ðÆ®¿¡°Ô ±× °á°ú¸¸À» ¾Ë·ÁÁֹǷΠ³×Æ®¿öÅ© ÀÚ¿øÀ» ¸Å¿ì Àû°Ô »ç¿ëÇϰí ÀÌ ¶§¹®¿¡ ¼­·Î °£ÀÇ ½Ã°£ Â÷À̰¡ °ÅÀÇ ³ªÅ¸³ªÁö ¾Ê¾Ò´Ù.

<È­¸é 4> <ÄÉÀ̽º 2> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³

<ÄÉÀ̽º 1>ÀÇ °æ¿ì ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¿¡¼­ Å« Â÷À̰¡ ÀÖ¾úÁö¸¸ <ÄÉÀ̽º 2>ó·³ ½ÇÇà¹æ½ÄÀ» º¯°æÇÏÀÚ ÀÌ·± Â÷À̰¡ ¾ø¾îÁ³´Ù. ƯÀÌÇÑ °ÍÀº log file sync¶ó´Â »õ·Î¿î Wait À̺¥Æ®°¡ 1ȸ ³ªÅ¸³­ °ÍÀÌ´Ù. À̰ÍÀº º¯°æµÈ ÀÚ·á°¡ ·Î±× ¹öÆÛ¿¡ ¹Ý¿µµÇ´Â °úÁ¤¿¡¼­ ¹ß»ýÇÑ °ÍÀ¸·Î, <ÄÉÀ̽º 1>¿¡ ºñÇØ ÈξÀ ªÀº ½Ã°£¿¡ µ¿ÀÏÇÑ ÀÚ·á·®ÀÇ º¯°æÀÌ ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. ±×·¯³ª ÀÌ ºÎºÐµµ DACº° Â÷ÀÌ´Â ¹Ì¹ÌÇÑ ¼öÁØÀÌ´Ù.

ÇÑÆí CPU 󸮽ð£À» º¸¸é MSDORA¿Í OraOLEDB, OO4O °£¿¡ 0.2ÃÊ Á¤µµÀÇ ÆíÂ÷°¡ Á¸ÀçÇÑ´Ù. ¼Ò¿ä½Ã°£Àº ½Ã½ºÅÛ »óȲ¿¡ µû¶ó ¾à°£ÀÇ ÆíÂ÷°¡ ¹ß»ýÇϹǷΠÀ̰͸¸À¸·Î ´Ü¼øÇÏ°Ô ¿ì¿­À» °¡¸± ¼ö ¾ø´Â °æ¿ì°¡ ÀÖÀ¸¸ç, <ÄÉÀ̽º 2>ÀÇ °æ¿ì¿¡µµ Å« Àǹ̴ ¾ø´Â °ÍÀ¸·Î º¸ÀδÙ.

<È­¸é 5> <ÄÉÀ̽º 2>ÀÇ ÁÖ¿ä µ¥ÀÌÅͺ£À̽º

<È­¸é 5>´Â <ÄÉÀ̽º 2>ÀÇ ÁÖ¿ä µ¥ÀÌÅͺ£À̽º Ȱµ¿ ÁöÇ¥´Ù. SQL* Net roundtrips to/from client¸¦ ±âÁØÀ¸·Î <ÄÉÀ̽º 1>°ú ºñ±³ÇÏ¸é ³×Æ®¿öÅ© I/O·®ÀÌ Å©°Ô ÁÙ¾îµé¾úÀ½À» ¾Ë ¼ö ÀÖ´Ù. MSDORA°¡ OraOLEDBº¸´Ù ¿©ÀüÈ÷ 5¹è Á¤µµ ³×Å©¿öÅ© I/O¸¦ ´õ ¸¹ÀÌ ¼öÇàÇßÁö¸¸ ÀÌ Á¤µµ ¼öÄ¡°¡ µÇ¸é ÀüÇô ¿µÇâÀÌ ¾ø´Ù°í ºÁµµ ¹«¹æÇÏ´Ù.

³»ºÎÀûÀ¸·Î »ç¿ëÇÑ µ¥ÀÌÅͺ£À̽º ÀÚ¿ø »ç¿ë·®¿¡¼­´Â µ¿ÀÏÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ »ç¿ëÇ߱⠶§¹®¿¡ °ÅÀÇ Â÷À̰¡ ¾ø´Ù. ´Ù¸¸ ¸Þ¸ð¸® »ç¿ë·®¿¡¼­´Â MSDORA°¡ OraOLEDB, OO4Oº¸´Ù ´õ ÀûÀº ·®ÀÇ ¸Þ¸ð¸®¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î ³ªÅ¸³µ´Ù. ÀÌ´Â <ÄÉÀ̽º 1>ÀÇ °æ¿ì¿¡µµ ¸¶Âù°¡Áö¿´À¸³ª <ÄÉÀ̽º 2>´Â <ÄÉÀ̽º 1>º¸´Ù ÀüüÀûÀ¸·Î ÀÚ¿øÀ» ´õ Àû°Ô »ç¿ëÇϸ鼭µµ ´õ ºü¸¥ 󸮽ð£À» º¸¿´´Ù(ÀÌ ºÎºÐÀº Áö³­ È£¿¡¼­ ÀÚ¼¼È÷ »ìÆìºÃ´Ù).

<±×¸² 3> <ÄÉÀ̽º 3>ÀÇ ¼öÇà¹æ½Ä

ÄÉÀ̽º 3, DB¿¡¼­ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 3>Àº Å×ÀÌºí¿¡ InsertÇÒ ÀڷḦ µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡¼­ »ý¼ºÇϰí Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ Stored Procedure¸¦ È£ÃâÇÏ´Â ¹æ½ÄÀÌ´Ù(<±×¸² 3>). µ¥ÀÌÅͺ£À̽º ¼­¹ö ºÎºÐ¿¡¼­ ¾÷¹« ·ÎÁ÷À» ó¸®ÇÏ°í µ¥ÀÌÅ͸¦ Å×ÀÌºí¿¡ InsertÇÑ´Ù´Â Á¡±îÁö´Â <ÄÉÀ̽º 2>¿Í µ¿ÀÏÇÏÁö¸¸ <ÄÉÀ̽º 2>°¡ ¾÷¹« ·ÎÁ÷ÀÌ Ã³¸®µÉ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º¿¡ ¼öÇà ¿äûÀ» ÇÏ´Â ¹Ý¸é <ÄÉÀ̽º 3>Àº ó¸®ÇÒ µ¥ÀÌÅ͸¦ °¢ °Ç º°·Î ó¸®ÇÏÁö ¾Ê°í Array ¹æ½ÄÀ¸·Î ¸ð¾Æ¼­ ó¸®ÇÑ´Ù.

Áï ¾÷¹« ·ÎÁ÷À» ´ã´çÇÏ´Â TEST_PROC ÇÁ·Î½ÃÀú¸¦ µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡ »ý¼ºÇÑ ÈÄ Å¬¶óÀÌ¾ðÆ®¿¡¼­ µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ ÇÁ·Î½ÃÀú¸¦ ¼öÇàÇÏ´Â ¹æ½ÄÀÌ´Ù(°ü·Ã ½ºÆ®¸³Æ®´Â ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. VBA¿¡¼­ ¼öÇàµÇ´Â °ÍÀ¸·Î ½ÇÁ¦ 󸮸¦ ´ã´çÇÏ´Â ºÎºÐ¸¸ ±â¼úÇÏ¿´À¸¸ç Ŭ¶óÀÌ¾ðÆ® ºÎºÐÀº <ÄÉÀ̽º 2>¿Í µ¿ÀÏÇÏ´Ù).

<Ç¥ 3> <ÄÉÀ̽º 3>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³

<Ç¥ 3>À» º¸¸é <ÄÉÀ̽º 3>µµ <ÄÉÀ̽º 2>ó·³ °¢ ÇÁ·Î¹ÙÀÌ´õ º°·Î ÀǹÌÀÖ´Â Â÷À̰¡ ¹ß»ýÇÏÁö ¾Ê¾ÒÀ½À» ¾Ë ¼ö ÀÖ´Ù. Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ°í ±× °á°ú¸¦ ¹Þ´Â ¿ªÇÒ¸¸À» ¼öÇàÇÏ¸ç ½ÇÁ¦ ÀÚ·á »ý¼ºÀ̳ª Å×ÀÌºí¿¡ Insert ÀÛ¾÷Àº µ¥ÀÌÅͺ£À̽º¿¡¼­ ¹ß»ýÇϹǷΠÂ÷À̰¡ ¹ß»ýÇÒ ¿©Áö°¡ ¾ø¾ú´ø °ÍÀÌ´Ù. ´Ù¸¸ MSDORAÀÇ °æ¿ì Wait ½Ã°£ÀÌ ´Ù¸¥ ÇÁ·Î¹ÙÀÌ´õº¸´Ù ´õ ±æ¾ú´Ù.

<È­¸é 6>À» º¸¸é MSDORAÀÇ °æ¿ì log file switch completionÀ̶ó´Â Wait Event°¡ ¹ß»ýÇØ 0.05ÃÊÀÇ ½Ã°£ÀÌ ¼Ò¿äµÈ °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ´Ù. À̰ÍÀº µ¥ÀÌÅͺ£À̽º°¡ »ç¿ëÇÏ´Â online redo log fileÀÌ ¹Ù²î´Â °æ¿ì ¹ß»ýÇϴµ¥, º¯°æµÈ ÀÚ·á°¡ online redo log file¿¡ ´©Àû ±â·ÏµÇ¸é ¾î´À ¼ø°£ ÇØ´ç ÆÄÀÏ¿¡ º¯°æµÈ ³»¿ëÀÌ °¡µæ Â÷°í ´ÙÀ½ ·Î±× ÆÄÀÏ¿¡ ±â·ÏÇϱâ À§ÇØ ÁغñÇÏ´Â °úÁ¤¿¡¼­ ³ªÅ¸³­´Ù. µ¥ÀÌÅͺ£À̽º ¿î¿µ Áß ¹ß»ýÇÑ Á¤»óÀûÀÎ Wait À̺¥Æ®À̹ǷΠ¿©±â¼­´Â ¹«½ÃÇÑ´Ù.

<È­¸é 6> <ÄÉÀ̽º 3> Æ®·¹À̽º ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³

<ÄÉÀ̽º 3>ÀÇ °æ¿ì <È­¸é 7>ó·³ ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥¿¡¼­µµ MSDORA°¡ Á¶±Ý Å« °ªÀ» ³ªÅ¸³¾ »Ó °¢ DAC º°·Î µÎµå·¯Áö´Â Â÷ÀÌÁ¡Àº ¾ø¾ú´Ù.

<È­¸é 7> <ÄÉÀ̽º 3>ÀÇ ³×Æ®¿öÅ© °ü·Ã ÁöÇ¥

ÄÉÀ̽º 4, Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀÚ·á»ý¼º ÈÄ Array ¹æ½ÄÀ¸·Î Insert
<ÄÉÀ̽º 4>´Â À̹ø È£¿¡ »õ·Ó°Ô Ãß°¡µÆ´Ù. <ÄÉÀ̽º 1>°ú ¸¶Âù°¡Áö·Î ÀڷḦ »ý¼ºÇÏ´Â ºÎºÐÀÌ Å¬¶óÀÌ¾ðÆ®¿¡ À§Ä¡ÇÏÁö¸¸ <ÄÉÀ̽º 1>ÀÌ ÀÚ·á »ý¼º ½Ã¸¶´Ù Insert¸¦ ¼öÇàÇÑ ¹Ý¸é <ÄÉÀ̽º 4>´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ ¸ðµÎ »ý¼ºÇÑ ÈÄ Array ¹æ½ÄÀ¸·Î µ¥ÀÌÅͺ£À̽º¿¡ ÀڷḦ Àü¼ÛÇØ ´Ü 1ȸ Insert ÀÛ¾÷À» ¼öÇàÇÑ´Ù(<±×¸² 4>). ¾ðµí º¸¸é <ÄÉÀ̽º 3>°ú µ¿ÀÏÇØ º¸ÀÌÁö¸¸ <ÄÉÀ̽º 3>ÀÌ ´Ü¼øÇÏ°Ô µ¥ÀÌÅͺ£À̽ºÀÇ ÇÁ·Î½ÃÀú ¼öÇàÀ» ¿äûÇß´Ù¸é <ÄÉÀ̽º 4>´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ »ý¼ºÇØ ±× ÀÚ·á ÀÚü¸¦ 1ȸÀÇ ¿äûÀ¸·Î ó¸®ÇÑ´Ù.

<±×¸² 4> <ÄÉÀ̽º 4>ÀÇ ¼öÇà¹æ½Ä

<ÄÉÀ̽º 4>´Â OO4O¸¦ ÅëÇØ ±¸ÇöµÇ¸ç ±¸Ã¼ÀûÀÎ ¹æ½ÄÀº µû¶ó ´Ù½Ã µÎ °¡Áö·Î ³ª´¶´Ù. ÇÑ °¡Áö´Â Ŭ¶óÀÌ¾ðÆ® ºÎºÐ¿¡¼­ ¿ÏÀüÇÏ°Ô Ã³¸®¸¦ ¸¶Ä£ ÈÄ Array ¹æ½ÄÀ¸·Î Å×ÀÌºí¿¡ Insert¸¦ ½ÃŰ´Â ¹æ¹ýÀ¸·Î, ÀÚ¿ø »ç¿ë·®ÀÌ ¸Å¿ì Àû°í ¼Óµµµµ ºü¸£´Ù. ´Ù¸¥ Çϳª´Â Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ó¸®ÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º·Î ÀڷḦ Àü¼ÛÇØ µ¥ÀÌÅͺ£À̽º¿¡¼­ Å×À̺í·Î InsertÇÏ´Â ¹æ¹ýÀÌ´Ù.

ÀÌ ¹æ¹ýÀº ¡®ÇöÀç½Ã°£¡¯Ã³·³ ½±°Ô ±¸ÇÒ ¼ö ÀÖ´Â Àڷᳪ ÀÚ·á »ý¼º °úÁ¤¿¡¼­ ¼­¹ö¿¡ Á¸ÀçÇÏ´Â ¸ðµâÀ» ¹Ýº¹ È£ÃâÇÒ Çʿ䰡 ÀÖÀ» °æ¿ì¿¡ »ç¿ëÇÏ¸é ¸Å¿ì È¿°úÀûÀÌ´Ù. ¿©±â¼­´Â ÆíÀÇ»ó ù ¹øÂ° ¹æ½ÄÀº <ÄÉÀ̽º 4-1>·Î, µÎ ¹øÂ° ¹æ½ÄÀº <ÄÉÀ̽º 4-2>·Î ĪÇÑ´Ù. ¾çÂÊÀ» ¸ðµÎ ÁöĪÇÒ ¶§´Â <ÄÉÀ̽º 4>·Î ĪÇÑ´Ù. <ÄÉÀ̽º 4>¿¡ ÇÊ¿äÇÑ ¼Ò½ºµµ ¡®ÀÌ´ÞÀÇ µð½ºÄÏ¡¯À¸·Î Á¦°øÇÑ´Ù. <ÄÉÀ̽º 4-2>ÀÇ °æ¿ì Array ¹æ½ÄÀ¸·Î Àü´Þ¹ÞÀº ÀڷḦ ó¸®Çϱâ À§ÇØ º°µµÀÇ ÆÐŰÁö°¡ ÇÊ¿äÇϸç ÀÌ ºÎºÐÀº ¼Ò½º¸¦ ´Ù¿î·ÎµåÇØ È®ÀÎÇϱ⠹ٶõ´Ù.

<ÄÉÀ̽º 4>´Â ±âÁ¸ÀÇ °æ¿ì¿Í ´Þ¸® OO4O·Î¸¸ ±¸ÇöµÈ´Ù. ¿©±â¼­´Â OO4O¸¦ ÀÌ¿ëÇÑ °¢ ÄÉÀ̽º¿¡ ´ëÇØ ¼Ò¿ä½Ã°£°ú ÀÚ¿ø »ç¿ë·®À» ºñ±³Çغ¸ÀÚ. <ÄÉÀ̽º 4> ÀÌÀü¿¡´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡¼­ ÀڷḦ »ý¼ºÇÏ°í »ý¼ºµÈ ÀڷḦ Array ¹æ½ÄÀ¸·Î Å×ÀÌºí¿¡ Insert¸¦ ÇÏ´Â <ÄÉÀ̽º 3>ÀÌ °¡Àå ÁÁÀº ¼º´ÉÀ» ³ªÅ¸³ÂÀ¸¸ç, Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ »ý¼ºÇØ Å×ÀÌºí¿¡ Insert¸¦ ÇÏ´Â <ÄÉÀ̽º 1>ÀÇ ¼Óµµ°¡ °¡Àå ¶³¾îÁ³´Ù.

<Ç¥ 4> <ÄÉÀ̽º 4>ÀÇ ¼Ò¿ä½Ã°£ ºñ±³

<ÄÉÀ̽º 4>´Â <ÄÉÀ̽º 1>°ú ¸¶Âù°¡Áö·Î Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ »ý¼ºÇÏÁö¸¸ ÀÚ·á 󸮸¦ ¿Ï·áÇÑ ÈÄ µ¥ÀÌÅͺ£À̽º¿¡ ±× ÀÚ·áµéÀ» ÇÑ ¹ø¿¡ Àü¼ÛÇϱ⠶§¹®¿¡ <Ç¥ 4>¿Í °°ÀÌ ºü¸¥ 󸮰¡ °¡´ÉÇß´Ù(¹°·Ð ÀÌ ½Ã°£Àº µ¥ÀÌÅͺ£À̽ºÀÇ ¼Ò¿ä½Ã°£À¸·Î Ŭ¶óÀ̾ðÆ®ÀÇ Ã³¸® ½Ã°£Àº Æ÷ÇÔµÇÁö ¾Ê¾Ò´Ù).

<ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>´Â <ÄÉÀ̽º 1>¿¡ ºñÇØ Àüü ¼Ò¿ä½Ã°£ÀÌ ´ÜÃàµÇ°í ³×Æ®¿öÅ© »ç¿ë·®ÀÌ ÁÙ¾îµå´Â ±àÁ¤ÀûÀÎ È¿°ú°¡ ÀÖ¾úÁö¸¸ µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ ÀÚ¿ø »ç¿ë·®ÀÌ Áõ°¡ÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇß´Ù. ¹Ý¸é <ÄÉÀ̽º 4>´Â ÀÚ·á 󸮴 Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀÌ·ç¾îÁö°í µ¥ÀÌÅÍ ÀúÀåÀº µ¥ÀÌÅͺ£À̽º ¼­¹ö ºÎºÐ¿¡¼­ ó¸®Çϸ鼭µµ »ó´çÈ÷ ºü¸¥ ½Ã°£¿¡ ÀÛ¾÷ÀÌ ¿Ï·áµÆ´Ù. ¹°·Ð <ÄÉÀ̽º 4>¿¡µµ ´ÜÁ¡Àº ÀÖ´Ù.

<Ç¥ 4>¿¡¼­´Â ÀÚ·á 󸮰¡ ÀÌ·ç¾îÁö´Â Ŭ¶óÀÌ¾ðÆ® ºÎºÐÀÇ ¼Ò¿ä½Ã°£°ú ÀÚ¿ø »ç¿ë·®ÀÌ Ç¥½ÃµÇÁö ¾Ê¾ÒÁö¸¸ ½ÇÁ¦·Î´Â À̺¸´Ù ´Ù¼Ò ¸¹Àº ½Ã°£À» »ç¿ëÇÑ´Ù. ±×·¯³ª <ÄÉÀ̽º 3>¿¡ ºñÇØ ºÎÇÏ ºÐ»ê°ú ³ôÀº ¼º´ÉÀ̶ó´Â µÎ Á¶°ÇÀ» ¸ðµÎ ¸¸Á·ÇÏ´Â °ÍÀÌ »ç½ÇÀÌ´Ù.

<ÄÉÀ̽º 4>´Â ÀÚ·á°¡ Ŭ¶óÀÌ¾ðÆ®¿¡¼­ »ý¼ºµÇ¹Ç·Î ³×Æ®¿öÅ©¸¦ ÅëÇØ µ¥ÀÌÅͺ£À̽º¿¡ Àü¼ÛÇØ¾ß ÇÑ´Ù. µû¶ó¼­ ÀÚ·á°¡ µ¥ÀÌÅͺ£À̽º¿¡¼­ »ý¼ºµÇ´Â <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>º¸´Ù´Â ³×Æ®¿öÅ© I/O¸¦ ¸¹ÀÌ »ç¿ëÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ÇÏÁö¸¸ ÀÚ·á 1°ÇÀ» »ý¼ºÇÒ ¶§¸¶´Ù ³×Æ®¿öÅ© I/O¸¦ ¼öÇàÇØ¾ß ÇÏ´Â <ÄÉÀ̽º 1>º¸´Ù´Â ºÎ´ãÀÌ ÈξÀ Àû´Ù. ÀÌ´Â <È­¸é 8>ÀÇ Wait ½Ã°£ÀÇ Â÷ÀÌ¿¡¼­µµ È®ÀÎÇÒ ¼ö ÀÖ´Ù.

<È­¸é 8> <ÄÉÀ̽º 4> Trace ÆÄÀÏÀÇ Wait ½Ã°£ ºñ±³

¾Õ¼­ »ìÆìº» ¹Ù¿Í °°ÀÌ <ÄÉÀ̽º 1>Àº ³×Æ®¿öÅ© I/O¸¦ ¼öÇàÇϸç 27.59ÃÊÀÇ ½Ã°£À» ¼Ò¿äÇÑ ¹Ý¸é <ÄÉÀ̽º 4>´Â ä 1Ãʰ¡ µÇÁö ¾Ê¾Ò´Ù. ÀÚ·á°¡ »ý¼ºµÇ´Â °üÁ¡¿¡¼­ <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>´Â µ¥ÀÌÅͺ£À̽º ¼­¹ö¿¡¼­ ÀÚ·á°¡ »ý¼ºµÆÀ¸¸ç Ŭ¶óÀÌ¾ðÆ®´Â µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÏ´Â ¿ªÇÒ¸¸ Ç߱⠶§¹®¿¡ ³×Æ®¿öÅ© I/OÀÇ »ç¿ë·®À» µûÁö´Â °ÍÀº Àǹ̰¡ ¾ø´Ù.

ÇÑÆí <È­¸é 8>À» º¸¸é <ÄÉÀ̽º 1>°ú <ÄÉÀ̽º 4>ÀÇ SQL*Net mess age to client, SQL*Net message from clientÀÇ ¹ß»ý Ƚ¼ö´Â Å« Â÷À̸¦ ³ªÅ¸³½´Ù. ÀÌµé °ªÀº Ŭ¶óÀÌ¾ðÆ®¿¡¼­ µ¥ÀÌÅͺ£À̽º ¼­¹ö °£¿¡ ³×Æ®¿öÅ© I/O°¡ ¸î ¹øÀ̳ª ÀϾ´ÂÁö¸¦ ³ªÅ¸³»´Â ÁöÇ¥·Î, <ÄÉÀ̽º 1>Àº 2¸¸ ¹øÀÌ ³ÑÁö¸¸ <ÄÉÀ̽º 4>´Â ´Ü 3ȸ¿¡ ºÒ°úÇß´Ù. À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®¿¡¼­ µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ ÇÁ·Î½ÃÀú¸¦ È£ÃâÇÑ <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>°ú µ¿ÀÏÇÑ ¼öÄ¡´Ù.

ÇÑ °¡Áö Â÷ÀÌÁ¡Àº SQL*Net more data from client°¡ ´Ù¼ö ¹ß»ýÇß´Ù´Â »ç½ÇÀÌ´Ù. À̰ÍÀº Ŭ¶óÀÌ¾ðÆ®·ÎºÎÅÍ µ¥ÀÌÅͺ£À̽º ¼­¹ö·Î ´ë·®ÀÇ ÀÚ·á°¡ ÀԷµǴ °úÁ¤¿¡¼­ ¹ß»ýÇÑ °ÍÀ¸·Î, <ÄÉÀ̽º 1>Àº Ŭ¶óÀÌ¾ðÆ®¿¡¼­ ÀÚ·á°¡ ¹ß»ýÇÒ ¶§¸¶´Ù µ¥ÀÌÅͺ£À̽º ¼­¹ö·ÎÀÇ Àü¼ÛÀ» ¹Ýº¹Çϰí ÀÚ·á·® ÀÚüº¸´Ù´Â ³×Æ®¿öÅ© I/O¿¡ µû¸£´Â ¿À¹öÇìµå ¶§¹®¿¡ »ó´çÇÑ ½Ã°£ÀÌ ¼Ò¿äµÆÀ¸³ª, <ÄÉÀ̽º 4>´Â »ý¼ºµÈ ÀڷḦ 1ȸ¿¡ Àü¼ÛÇØ È¿À²ÀûÀ¸·Î ÀÛ¾÷ÇÒ ¼ö ÀÖ¾ú´Ù. ¹°·Ð ÀÚ·á·®ÀÌ Ä¿¼­ Àü¼Û °úÁ¤¿¡¼­ SQL*Net more data from client¶ó´Â Wait Event°¡ ¹ß»ýÇßÁö¸¸ ±× ½Ã°£Àº ¹«½ÃÇØµµ µÉ ¸¸Å­ ªÀº ½Ã°£ÀÌ´Ù.

<Ç¥ 5> µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ Ã³¸®·® ºñ±³

ÀÌÁ¦ µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ Ã³¸®·®À» »ìÆìº¸ÀÚ. Áö³­ È£¿¡¼­´Â OraOLEDB¸¦ »ç¿ëÇÏ´Â °ÍÀ¸·Î °¡Á¤ÇØ <ÄÉÀ̽º 1>, <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>¸¦ ºñ±³Çß¾ú´Ù. À̹øÈ£¿¡ Ãß°¡µÈ OO4O¸¦ »ç¿ëÇÏ´Â °æ¿ìµµ <ÄÉÀ̽º 1>¿¡¼­ºÎÅÍ <ÄÉÀ̽º 3>±îÁö´Â ºñ½ÁÇÑ ¸Æ¶ôÀÌ´Ù. °ü½ÉÀÖ°Ô º¼ ºÎºÐÀº <ÄÉÀ̽º 4>´Ù. <Ç¥ 5>¸¦ º¸¸é ³×Æ®¿öÅ© »ç¿ë·®Àº SQL*Net roundtrips to/from client ÁöÇ¥³ª bytes received via SQL*Net from client ÁöÇ¥¸¦ ÅëÇØ <ÄÉÀ̽º 2>ºÎÅÍ <ÄÉÀ̽º 4>±îÁö <ÄÉÀ̽º 1>¿¡ ºñÇØ ¸Å¿ì ÀÛÀº °ªÀ» ³ªÅ¸³½´Ù.

ƯÈ÷ <ÄÉÀ̽º 1>°ú <ÄÉÀ̽º 4>´Â µ¿ÀÏÇÏ°Ô Å¬¶óÀÌ¾ðÆ®¿¡¼­ ÀڷḦ »ý¼ºÇÏ°í µ¥ÀÌÅͺ£À̽º ¼­¹öÀÇ Å×À̺í·Î ÀڷḦ InsertÇÏ´Â ÀÛ¾÷À» ¼öÇàÇÏÁö¸¸, »ó´ëÀûÀ¸·Î <ÄÉÀ̽º 4>´Â <ÄÉÀ̽º 2>, <ÄÉÀ̽º 3>°ú ¸¶Âù°¡Áö·Î ¾ÆÁÖ ÀûÀº Ƚ¼ö·Î ³×Æ®¿öÅ© ¸Þ½ÃÁö¸¦ ÁÖ°í ¹Þ¾ÒÀ¸¸ç(SQL*Net roundtrips to/from client ÂüÁ¶), <ÄÉÀ̽º 1>¿¡ ºñÇØ ¾à 1/10 ¼öÁØÀÇ µ¥ÀÌÅ͸¦ ¹Þ¾ÒÀ½À» ¾Ë ¼ö ÀÖ´Ù(bytes received via SQL*Net from client ÂüÁ¶).

¼­¹ö ÀÚ¿ø »ç¿ë·ü Ãø¸é¿¡¼­´Â <ÄÉÀ̽º 4-1>ÀÌ redo size, redo entries, session logical reads, session pga memoryÀÇ »ç¿ë·®ÀÌ °¨¼ÒµÆ´Ù´Â Á¡ÀÌ °¡Àå Å« Ư¡ÀÌ´Ù. ƯÈ÷ redo °ü·Ã ÁöÇ¥µéÀÌ Å©°Ô °¨¼ÒÇߴµ¥, À̰ÍÀº ±×µ¿¾È ¾î¶² ¹æ½ÄÀÇ Å×½ºÆ®¿¡¼­µµ º¯È­°¡ ¾ø¾ú´ø ¼öÄ¡¿´´Ù. ¸Þ¸ð¸® I/O ÀÛ¾÷°ú ÀÚ·á º¯°æ ÀÛ¾÷ÀÇ Á¤µµ¸¦ ³ªÅ¸³»´Â session logical reads ¿ª½Ã 1/40 Á¤µµ·Î »ç¿ë·®ÀÌ ¶³¾îÁ³´Âµ¥, À̰ÍÀº ³»ºÎÀûÀ¸·Î ±Ùº»ÀûÀΠó¸® ¹æ¹ý¿¡ °³¼±ÀÌ ÀÖ¾úÀ½À» ÀǹÌÇÑ´Ù. session pga memoryµµ <ÄÉÀ̽º 4-1>ÀÌ <ÄÉÀ̽º 3>¿¡ ºñÇØ 1/10 Á¤µµ·Î °¨¼ÒµÆ´Ù.

¹Ý¸é ¸Þ¸ð¸® »ç¿ë·®¿¡¼­´Â <ÄÉÀ̽º 4-2>°¡ ó¸® °úÁ¤¿¡¼­ ³»ºÎ º¯¼ö¿¡ °ªÀ» 1ȸ ´õ ÇÒ´çÇØ¾ß Çϱ⠶§¹®¿¡ ¿ÀÈ÷·Á Áõ°¡Çß´Ù. <ÄÉÀ̽º 3>Àº ó¸® ½Ã°£ÀÌ »¡¶óÁ³Áö¸¸ »ç¿ëÇÏ´Â ¸Þ¸ð¸® ·®ÀÌ ¸¹ÀÌ Áõ°¡Çß¾ú´Âµ¥, <ÄÉÀ̽º 4-1>Àº ÀÌ ¹®Á¦±îÁö ÇØ¼ÒÇÑ ¹æ¾ÈÀ̾ú´Ù.

DB ¼º´É, ¿¬À庸´Ù´Â »ç¿ë¹æ¹ýÀÌ °áÁ¤
Áö±Ý±îÁö 2ȸ¿¡ °ÉÃÄ MS °³¹ß ȯ°æ¿¡¼­ ¿À¶óŬ µ¥ÀÌÅͺ£À̽º¸¦ ´Ù·ç´Â »óȲÀ» °¡Á¤ÇØ DACº°·Î ¼¼ °¡Áö ¹æ½ÄÀ¸·Î ½ÇÁ¦ ¼öÇà ¼Ò¿ä½Ã°£°ú µ¥ÀÌÅͺ£À̽º ³»ºÎÀÇ ÀÚ¿ø »ç¿ë·®À» ºñ±³ÇغôÙ.

µ¥ÀÌÅͺ£À̽ºÀÇ ¼º´É°ú °ü·ÃµÈ ÁöÇ¥µéÀº ¿©·¯ °¡Áö°¡ ÀÖÁö¸¸ ¿©±â¼­´Â ¾ÖÇø®ÄÉÀÌ¼Ç ¼­¹ö¿Í µ¥ÀÌÅͺ£À̽º ¼­¹ö ¶Ç´Â Ŭ¶óÀÌ¾ðÆ® ÇÁ·Î±×·¥°ú µ¥ÀÌÅͺ£À̽º ¼­¹ö ÇÁ·Î±×·¥À» °³¹ßÇÒ ¶§ ³×Æ®¿öÅ© I/O¿Í ¼öÇà¹æ½ÄÀÌ ¼º´É¿¡ ¾î´À Á¤µµÀÇ ¿µÇâÀ» ¹ÌÄ¡´Â Áö¿¡ ´ëÇØ »ìÆìºÃ´Ù.
°á±¹ Áß¿äÇÑ °ÍÀº ¿¬ÀåÀÌ ¾Æ´Ï¶ó À̸¦ ¾î¶»°Ô »ç¿ëÇÏ´À³Ä ÇÏ´Â °ÍÀÌ´Ù. ÀÌ ±ÛÀÌ µ¥ÀÌÅͺ£À̽º ¼º´É ¹®Á¦·Î °í¹ÎÇÏ´Â °³¹ßÀڵ鿡°Ô µµ¿òÀÌ µÆ±â¸¦ ¹Ù¶õ´Ù.@

* ÀÌ ±â»ç´Â ZDNet KoreaÀÇ Á¦ÈÞ¸ÅüÀÎ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿þ¾î¿¡ °ÔÀçµÈ ³»¿ëÀÔ´Ï´Ù.
°ü·Ã±â»ç
[SQL ¼­¹ö 2005 ½ÇÀü Ȱ¿ë] ¨ê »õ·Î¿î DB º¸È£¡¤º¹±¸ ¸ðµ¨
[SQL ¼­¹ö 2005 ½ÇÀü Ȱ¿ë] ¨é °ü¸®ÀÚ°¡ ¾Ë¾Æ¾ß ÇÒ¡¸º¯È­µé¡¹
[DB ¼º´É°ü¸® 2% ä¿ì±â] ¨é ÇÁ·Î±×·¡¹Ö ÅëÇÑ ¼º´É°³¼± »ç·Ê
[DB ¼º´É°ü¸® 2% ä¿ì±â] ¨è Å×ÀÌºí ÆÄÆ¼¼Å´×ÀÇ Àç¹ß°ß
[DB ¼º´É°ü¸® 2% ä¿ì±â] ¨ç ÀÚµ¿È­ ÅøÀÇ ÇѰè
µ¶ÀÚÀÇ°ß ³²±â±â (·Î±×ÀÎ ÈÄ µ¶ÀÚ ÀǰßÀ» ³²±â½Ç ¼ö ÀÖ½À´Ï´Ù.)
¾ÆÀ̵ð ºñ¹Ð¹øÈ£
 
 
[DDD ¨è] UI ÇÁ·ÎÅäŸÀÌÇÎ
[DDD ¨ç] µµ¸ÞÀÎ ÁÖµµ °³¹ß
°¡»óÈ­¿¡ ½ÇÆÐÇÏ´Â 10°¡Áö ÀÌÀ¯
[Ã¥¼Ò°³]ÇÁ¸®Á¨Å×ÀÌ¼Ç Á¨: »ý°¢À»...
[±â°í]±×¸° ½ºÅ丮Áö·Î °¡´Â±æ
[Ã¥¼Ò°³] À¥ °³¹ßÀÚ¸¦ À§ÇÑ ½ºÇÁ...
À©µµ¿ìCE µð¹ö±ë¿¡ °üÇÑ 12°¡Áö...
[Å×Å©º¸µå ½ÃÁð3]MS, ´ÑÅÙµµ À§(Wii)¿¡ 'ÃÊ´ëÇü ¾÷µ¥ÀÌÆ®'·Î ¸ÂºÒÀü [00:08:26]
±âȹ ·ùÁØ¿µ ±âÀÚ, ÁøÇà ¹ÚÀ±¹Ì, Á¦ÀÛ À¯È¸Çö PD
[CNET ¿µ¹®¹æ¼Û]3G¾ÆÀÌÆù ¸ÅÀ帶´Ù 'ºÏÀûºÏÀû'¡¦ÀϺΠ¸ÅÀå ǰ±ÍÇö»óµµ [00:01:56]
ÁøÇà ·ùÁØ¿µ ±âÀÚ, Á¦ÀÛ À¯È¸Çö PD
Á¶Áßµ¿, ´ÙÀ½¿¡ ´º½º°ø±Þ Áß´Ü¡¦"...
º¸¾È°­È­ ±¸±Û ¡°À©µµ ¹ö¸®°í À¥À¸...
¡®³ªÈ¦·Î ¾×ƼºêX¡¯¡¦¼¼°è ÀÎÅͳݰú...
¡®À©µµXP¡¯½Ã´ë Æó¸·, »ç¿ëÀÚ¿¡°Ô...
ÀÎÅÍ³Ý ¹ðÅ· ºê¶ó¿ìÀú´Â µû·Î ÀÖ´Ù...
´ÙÀ½ vs Á¶Áßµ¿, Á¤¸éÃæµ¹·Î Ä¡...
ÆÃÅ©¿þ¾î, ¾ÆÀ̳ªºñ 7¿ù ¾÷µ¥ÀÌÆ®...
Çѱ¹IBM, 23ÀÏ 'ºò±×¸°2.0...
ÆÇµµ¶óTV, e½ºÆ÷Ã÷ ±¹°¡´ëÇ¥ ¼±...
ÆæÅ¸½Ã½ºÅÛ, BI ¼Ö·ç¼Ç »ç¾÷ °­...
½Ã¸¸ÅØ, ³×Æ®¿öÅ© Á¢±Ù Á¦¾î CC...
 
 
The Korean edition of 'ZDNet' is published under license from CNET Networks, Inc., San Francisco, CA, USA. Editorial items appearing in 'ZDNet Korea' that were originally published in the US Edition of 'ZDNet', 'CNET', and 'CNET News.com' are the copyright properties of CNET Networks, Inc. or its suppliers.
Copyright ¨Ï 2008 CNET Networks, Inc. All Rights Reserved. 'ZDNet', 'CNET' and 'CNET News.com' are trademarks of CNET Networks, Inc.