Home | Login| Guest
DB | 2007-06-28 16:30:46
Hit : 291
¸ÀÀÇ ¿Ï¼ºÀº µ¥ÄÚ·¹ÀÌ¼Ç DBÀÇ ¿Ï¼ºÀº Æ©´× µ¥ÀÌÅͺ£À̽º Æ©´×

ÀÌÀçÇÐ l À¥Á¨ÀÇ DBA

¾ÈŸ±î¿î ÀÏÀÌÁö¸¸ ºÒ°ú ¸î ³â Àü¸¸ ÇØµµ ¸¹Àº °³¹ßÀÚµéÀÌ µ¥ÀÌÅͺ£À̽ºÀÇ Æ©´×¿¡ º°´Ù¸¥ °ü½ÉÀ» º¸ÀÌÁö ¾Ê¾Ò´Ù. ±×³ª¸¶ ´ÙÇེ·¯¿î °ÍÀº ÃÖ±Ù µé¾î µ¥ÀÌÅͺ£À̽º °ü·Ã Ä¿¹Â´ÏƼ¿¡ Æ©´×°ú °ü·ÃµÈ ³»¿ëÀÇ ±ÛÀÌ ÀÚÁÖ µîÀåÇÑ´Ù´Â Á¡ÀÌ´Ù. ÀÌ´Â ÃÖ±Ù ¸¸µé¾îÁø µ¥ÀÌÅͺ£À̽º¿¡ ¹®Á¦°¡ Àְųª °©Àڱ⠵¥ÀÌÅͺ£À̽º Æ©´×¿¡ ´ëÇÑ À̽´°¡ ºÎ°¢ µÇ¾ú´Ù±âº¸´Ù´Â ¿À·§µ¿¾È ¹¬ÇôµÐ º´ÀÌ ÀÌÁ¦¾ß ±× Áõ»óÀ» ³ªÅ¸³»±â ½ÃÀÛÇϰí ÀÖ´Ù°í »ý°¢ÇÏ´Â ÆíÀÌ ¿ÇÀ» °ÍÀÌ´Ù. »ç¶÷À̳ª µ¥ÀÌÅͺ£À̽º³ª Á¶±â Áø´Ü°ú 󹿏¸Å­ µçµçÇÑ °ÍÀÌ ¾ø´Ù. ÀûÀº Áö¸éÀ» ÅëÇØ Æ©´×¿¡ ´ëÇÑ ¸ðµç Áö½ÄÀ» Àü´ÞÇÒ ¼ö´Â ¾ø°ÚÁö¸¸ ÀÌ ±ÛÀÌ µ¥ÀÌÅͺ£À̽º Æ©´×¿¡ ´ëÇÑ °ü½É¿¡ ºÒÀ» ´ó±â´Â µµÈ­¼±ÀÌ µÇ¾î Áֱ⸦ ¹Ù¶õ´Ù.

 
Æ©´×(Tuning)Àº ¡®Á¶À²¡¯ ¶Ç´Â ¡®¹Ì¼¼Á¶Á¤¡¯À̶ó´Â »çÀüÀû Àǹ̸¦ °¡Áö°í ÀÖÁö¸¸ µ¥ÀÌÅͺ£À̽º ¼¼°è¿¡¼­´Â ±× Àǹ̰¡ Á¶±Ý ´Ù¸£´Ù. Á¶À²À̳ª Á¶Á¤À̶ó±âº¸´Ù´Â ¡®ÃÖÀûÈ­¡¯°¡ ´õ °¡±î¿î ¶æÀ¸·Î ¾²À̰í Àֱ⠶§¹®ÀÌ´Ù. ±×·³ µ¥ÀÌÅͺ£À̽º Æ©´×À» ÅëÇØ ¹«¾ùÀ» ÃÖÀûÈ­ ÇÒ ¼ö ÀÖ´Â °ÍÀϱî? ±× ´ë»óÀº ¸Å¿ì ¸¹´Ù. ¾÷¹«¸¦ ÃÖÀûÈ­ ÇÒ ¼öµµ ÀÖ°í, ¼³°è³ª Çϵå¿þ¾îÀûÀÎ º´¸ñ Çö»óÀ» ÇØ°áÇÏ¿© ÃÖÀûÈ­ Çϰųª SQLÀ» ÃÖÀûÈ­ ÇÒ ¼öµµ ÀÖ´Ù.
ÀÌ·¯ÇÑ ÃÖÀûÈ­´Â ´ÜÁö ó¸® ¼Óµµ¸¦ ³ôÀÌ´Â °Í¿¡ ±×Ä¡´Â °ÍÀÌ ¾Æ´Ï¶ó »ç¿ëÀÚ°¡ ÇÊ¿äÇÑ ¶§¿¡ ¿øÇÏ´Â Á¤º¸¸¦ Á¦°øÇϴµ¥ ±× ¸ñÀûÀÌ ÀÖ´Ù°í ÇÒ ¼ö ÀÖ´Ù.
»ç¿ë ÁßÀÎ µ¥ÀÌÅͺ£À̽º¸¦ Æ©´×ÇÏ¿© Àû½Ã¼ºÀ» È®º¸ÇÏ·Á¸é ¸ÕÀú ½Ã½ºÅÛÀÌ ´À·ÁÁö´Â ¿øÀÎÀ» ÆÄ¾ÇÇØ¾ß ÇÑ´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î ¼º´É ÀúÇÏÀÇ ¿øÀÎÀ» ÆÄ¾ÇÇÏ´Â °ÍÀº ±×¸® ½¬¿î ÀÏÀÌ ¾Æ´Ï´Ù. ±×·¡¼­ ½¬¿î ¹æ¹ýÀ¸·Î Çϵå¿þ¾î¸¦ Áõ¼³Çϰųª ±¦ÇÑ DBMS Á¦Ç°À» ÀǽÉÇØ º¸±âµµ ÇÏÁö¸¸ ¼º´É ÀúÇÏÀÇ ¿øÀÎÀ» DBMS¿¡ ¶°³Ñ±â±â´Â °ï¶õÇÏ´Ù. ÀÏ·Ê·Î ºñ½ÁÇÑ ±Ô¸ðÀÇ µ¿Á¾ ¾÷ü¶óµµ ºñ½Ñ Àåºñ¸¦ °¡Áö°íµµ µ¥ÀÌÅͺ£À̽ºÀÇ ¹®Á¦¸¦ ÇØ°áÇÏÁö ¸øÇÏ´Â ¹Ý¸é, ¾î¶² ¾÷ü´Â ¾ÆÁÖ Àú·ÅÇÑ Àåºñ·Î ÈǸ¢ÇÏ°Ô µ¥ÀÌÅͺ£À̽º¸¦ Ȱ¿ëÇϰí ÀÖ´Â °æ¿ì¸¦ µé ¼ö ÀÖ´Ù.
»ç½Ç DBMS¿Í Çϵå¿þ¾î¿¡ ´ëÇÑ ¼º´ÉÀÇ Â÷ÀÌ´Â º¥Ä¡¸¶Å· »çÀÌÆ®(http://www.tpc.org)¿¡¼­ ½±°Ô È®ÀÎÇÒ ¼ö Àֱ⠶§¹®¿¡ ´ëºÎºÐ ½±°Ô ÀÚ±â ȸ»çÀÇ ±Ô¸ð¿¡ ¸Â´Â ½Ã½ºÅÛÀ» ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. Àû´çÇÑ È¤Àº ³Ë³ËÇÑ ¼­¹öÀÇ ÀÚ¿øÀ» °¡Áö°íµµ µ¥ÀÌÅͺ£À̽º¸¦ »ß°Æ°Å¸®°Ô ¸¸µå´Â ¹®Á¦ÀÇ Á߽ɿ¡´Â »ç¶÷ÀÌ ÀÖ´Ù°í º¸´Â °ÍÀÌ ¿Ç´Ù. ƯÈ÷ µ¥ÀÌÅͺ£À̽º ¼³°èÀÚ´Â ±× Áß¿¡¼­µµ °¡Àå ÇÙ½ÉÀûÀÎ Àι°ÀÌ´Ù.
 
ÄÚµåÅ×À̺í°ú ½Äº°ÀÚ °ü°è

ÈçÈ÷ µ¥ÀÌÅͺ£À̽ºÀÇ ¼³°è¶ó°í ÇÏ¸é ¹°¸®ÀûÀÎ ¼³°è¸¦ ÀǹÌÇÑ´Ù. Áï, À妽º, Å×À̺í, Á¦¾àÁ¶°Ç µî¿¡ ´ëÇÑ Á¤Àǰ¡ Æ÷ÇԵȴÙ. ¿äÁòÀÇ µ¥ÀÌÅͺ£À̽º¶ó¸é ÄÚµåÅ×À̺íÀÌ ÇϳªÂëÀº ÀÖ´Â °ÍÀÌ ´ç¿¬ÇÏ°Ô ¿©°ÜÁö±âµµ ÇÑ´Ù. ¿¹¸¦ µé¸é, (Á÷¾÷ÄÚµå, Á÷¾÷¸í)°ú °°Àº ÇüÅÂÀÌ´Ù. ERP(Enterprise Resource Planning)¿Í °°Àº ½Ã½ºÅÛÀÇ °æ¿ì ¡®Äڵ帶½ºÅÍ¡¯ ¶ó´Â ¸íĪÀ¸·Î ÄÚµåÅ×À̺íÀÌ ´ëºÎºÐ Á¸ÀçÇÑ´Ù. ÀÌ·¸°Ô ÄÚµåÅ×À̺íÀ» µÎ´Â ÀÌÀ¯´Â ¹»±î? ´Ü¼øÈ÷ ¼±¹èµéÀÌ ±×·¸°Ô ÇØ¿Ô±â ¶§¹®À̳ª ³²µéÀÌ ±×·¸°Ô Çϱ⠶§¹®¿¡ ¶Ç´Â Ã¥¿¡¼­ ±×·¸°Ô Áö½ÃÇ߱⠶§¹®À̶ó°í ´ë´äÇÒ ¼ö´Â ¾ø´Â ÀÏÀÌ´Ù. ÄÚµå Å×À̺íÀ» µÎ´Â ÀÌÀ¯´Â À¯Áöº¸¼öÀÇ Æí¸®¼º°ú ¼º´É Çâ»ó¿¡ ÀÖ´Ù.
¸ÕÀú À¯Áöº¸¼öÀÇ Æí¸®¼º¿¡ ´ëÇØ À̾߱â ÇØº¸ÀÚ. µÚ¿¡ ÀÖ´Â <±×¸²3>¿¡¼­ Dept°¡ ¡®ºÎ¼­Äڵ塯 Å×À̺íÀÌ°í ºÎ¼­ÀÇ ¸íĪÀÌ ¡®Àü»ê½Ç¡¯¿¡¼­ ¡®Á¤º¸½Ã½ºÅÛ°ü¸®½Ç¡¯·Î º¯°æµÇ¾ú´Ù°í °¡Á¤ÇÏÀÚ. ±×·³ À§¿Í °°Àº °æ¿ì Dept Å×ÀÌºí¿¡¼­ ¡®Àü»ê½Ç¡¯À» ¡®Á¤º¸½Ã½ºÅÛ°ü¸®½Ç¡¯·Î º¯°æÇÏ¸é ³¡ÀÌ´Ù. ±×·¯³ª Emp Å×ÀÌºí¿¡¼­ DeptNo(ºÎ¼­¹øÈ£) ´ë½Å DeptName(ºÎ¼­¸í)À¸·Î µé¾î°¬´Ù¸é ÇØ´çµÇ´Â »ç¿øÀÇ ºÎ¼­¸íÀ» ¸ðµÎ °íÃÄÁÖ¾î¾ß ÇÑ´Ù.
±×·³, ¼º´ÉÀº ¾î¶»°Ô Çâ»óµÇ´Â °ÍÀϱî? ÄÚµå´Â INTÇüÀ̰í, ÄÚµå¸íÀº °¡º¯±æÀÌ ¹®ÀÚÇü(ÃÖ´ë 20) À̶ó¸é INTÇüÀ» ÀúÀåÇÏ´Â °ÍÀÌ ÀúÀå °ø°£À» Àû°Ô Àâ¾Æ¸Ô°í, ¸¸¾à À妽º µîÀÇ °´Ã¼°¡ »ý¼ºµÈ´Ù¸é À妽ºÀÇ Å©±âµµ ÁÙ¾îµé °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, 100¸¸ °ÇÀÇ µ¥ÀÌÅͰ¡ ÀÖ´Ù°í °¡Á¤ÇÏÀÚ. INTÇüÀ̶ó¸é 4¡¿1,000,000 ¹ÙÀÌÆ®À̸ç, °¡º¯±æÀÌ ¹®ÀÚÇüÀ̶ó¸é 20¡¿1,000,000 ¹ÙÀÌÆ®°¡ µÈ´Ù. ½±°Ô ¸»ÇØ °°Àº µ¥ÀÌÅÍ¿¡ °¡º¯±æÀÌ ¹®ÀÚÇüÀ» ÀúÀåÇÒ °æ¿ì 500ÆäÀÌÁöÂ¥¸® Ã¥À» ¸¸µé ¼ö ÀÖ´Â ¹Ý¸é, INTÇüÀ» »ç¿ëÇϸé 1,000ÆäÀÌÁöÂ¥¸® Ã¥ÀÌ ¸¸µé¾î Áö´Â °ÍÀÇ Â÷ÀÌ¿Í °°Àº °ÍÀÌ´Ù.
µ¥ÀÌÅͺ£À̽º °ü·Ã Ã¥À» º¸¸é ¸ðµ¨¸µ¿¡´Â ¸ðµ¨·¯ÀÇ ÁÖ°üÀûÀÎ »ý°¢ÀÌ µé¾î°£´Ù´Â ¸»À» ½±°Ô Á¢ÇÒ ¼ö ÀÖ´Ù. »ç½Ç ¸Â´Â ¸»ÀÌÁö¸¸ ¡®ÁÖ°ü¡¯À̶ó´Â Àǹ̴ ÁÁÀº ÀÇ¹Ì·Î ÇØ¼®µÉ ¼öµµ ÀÖÁö¸¸ ³ª»Û ÀÇ¹Ì·Î ÇØ¼®µÉ ¼öµµ ÀÖ´Ù. ´Ù½Ã ¸»ÇØ ÁÖ°üÀº ½ÇÁ¦¼¼°è¸¦ Ç¥ÇöÇÏ´Â ¹æ¹ýÀÇ Â÷ÀÌ Á¤µµ·Î ÇØ¼®ÇÒ ¼öµµ ÀÖÁö¸¸, ³ª»Û ÀÇ¹Ì·Î ÇØ¼®ÇÏÀÚ¸é ¸ðµ¨·¯ÀÇ ´É·ÂÀ̶ó°í º¼ ¼öµµ Àֱ⠶§¹®ÀÌ´Ù(»ç½Ç ÇÁ·ÎÁ§Æ®¿¡ ÅõÀԵǴ Àοø Áß ¸ðµ¨À̳ª ¼³°è¹®¼­¸¦ °ËÅäÇÏ¿© ¹®Á¦Á¡À» ÁöÀûÇØ ³¾ ¼ö ÀÖ´Â »ç¶÷ÀÌ °ÅÀÇ ¾ø±â ¶§¹®¿¡ °ËÁõµÈ ¿ÜºÎ¾÷ü¿¡ °ËÅ並 ÀÇ·ÚÇÏ´Â °ÍÀÌ ÁÁ´Ù). ¼³°è¿¡ µû¶ó¼­ ¾î¶»°Ô ´Ù¸¥ ±¸ÇöÀÌ ÀÌ·ç¾îÁö´ÂÁö ¶ÇÇÑ ¼º´É»óÀÇ Â÷À̰¡ ÀÖ´ÂÁö ¿¹¸¦ ÅëÇØ ¾Ë¾Æº¸ÀÚ.


<±×¸² 1> ºñ½Äº°ÀÚ °ü°è¿Í ½Äº°ÀÚ °ü°è
<±×¸² 1>°ú °°ÀÌ ÇϳªÀÇ ´ë»óÀ» µÎ°íµµ ¼­·Î ´Ù¸¥ µÎ »ç¶÷ÀÌ µÎ °¡Áö ÇüÅÂÀÇ ¸ðµ¨À» µµÃâÇß´Ù°í °¡Á¤ÇÏÀÚ. A, B ¸ðµ¨ÀÇ Â÷ÀÌ´Â ±×¸²¿¡¼­ º¸´Â ¹Ù¿Í °°ÀÌ A ¸ðµ¨Àº ºñ½Äº°ÀÚ °ü°è¸¦ ¸Î°í ÀÖ°í, B ¸ðµ¨Àº ½Äº°ÀÚ °ü°è(¿ÜºÎ ۰¡ ±âº» ŰÀÇ ÀϺΠ¶Ç´Â Àüü°¡ µÊ)¸¦ ¸Î°í ÀÖ´Ù. ¾î¶² °ÍÀÌ ´õ ÁÁÀº ¸ðµ¨Àϱî? ÇöÀç·Î½á´Â ¾Ë ¼ö ¾ø´Ù. ´ÜÁö A ¸ðµ¨À» ¸¸µç »ç¶÷ÀÌ ¿Ö Aó·³ ¸¸µé¾úÁö ¿Ö Bó·³ ¸¸µé¾ú´ÂÁö È®½ÇÇÏ°Ô ¾Ë°í ÀÖ´Ù¸é µÎ ¸ðµ¨Àº ¹®Á¦Á¡ÀÌ ¾ø´Ù°í ºÁµµ ¹«¹æÇÏ´Ù. ÇÏÁö¸¸ ¿Ö ±×·¸°Ô Çß´ÂÁö ¸ð¸¥´Ù¸é ±×°Ô ¹Ù·Î ¹®Á¦ÀÌ´Ù. ERD(entity Relationship Diagram)ó·³ »ý±ä ¹®¼­¸¦ ´øÁ®ÁÖ°í °³¹ßÀ» Áö½ÃÇϸ鼭 °³¹ß ½Ã°£À» ÀçÃËÇÑ´Ù¸é ±× ÀÚü°¡ À߸øÀÎ °ÍÀÌ´Ù.
<±×¸² 1>¿¡¼­ µÎ ¸ðµ¨ÀÌ ½ÇÁ¦ ¹°¸®ÀûÀ¸·Îµµ ¶È°°ÀÌ ±¸ÇöµÇ¾î ÀÖ°í, µÎ ¸ðµ¨ÀÇ ÃÖ»óÀ§¿¡ ÀÖ´Â Å×À̺í A¸¦ ÄÚµåÅ×À̺íÀ̶ó°í °¡Á¤ÇÏÀÚ. ¸¸¾à G Å×ÀÌºí¿¡¼­ A Å×ÀÌºí¿¡ Àִ ƯÁ¤ Ä÷³ÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿Í¾ß ÇÑ´Ù¸é µÎ ¸ðµ¨¿¡´Â ¾î¶² Â÷À̰¡ ÀÖÀ»±î? ½ÇÁ¦ SQL·Î ¸¸µé¾î º»´Ù¸é <¸®½ºÆ® 1>°ú °°À» °ÍÀÌ´Ù.
<¸®½ºÆ® 1> ÄÚµåÅ×À̺í°ú ½Äº°ÀÚ °ü°è
--AÀÇ °æ¿ì
SELECT
A.UID_A
, G.UID_G
FROM G
INNER JOIN F ON G.UID_F = F.UID_F
INNER JOIN C ON F.UID_C = C.UID_C
INNER JOIN A ON C.UID_A = A.UID_A

--BÀÇ °æ¿ì
SELECT
A.UID_A
, G.UID_G
FROM G INNER JOIN A ON G.UID_A = A.UID_A

ÀÌ °æ¿ì µÎ ¸ðµ¨¿¡¼­ SQLÀÇ ½ÇÇà °á°ú´Â °°´Ù. ±×·¯³ª A ¸ðµ¨Àº ¸î ¹øÀÇ Á¶ÀÎÀ» °ÅÃľ߸¸ ºñ·Î¼Ò A Å×À̺íÀÇ µ¥ÀÌÅ͸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Ù. BÀÇ °æ¿ì´Â ´Ü ÇÑ ¹øÀÇ Á¶ÀÎÀ¸·Î ¿øÇÏ´Â µ¥ÀÌÅ͸¦ Á¶È¸ÇÒ ¼ö ÀÖ´Ù. A ¸ðµ¨Àº Á¶ÀÎÇÑ ¸¸Å­ÀÇ µ¥ÀÌÅ͸¦ ó¸®ÇØ¾ß ÇÏ°í ¿øÇÏ´Â µ¥ÀÌÅ͸¦ ã±â À§ÇØ ¸¹Àº ±æÀ» °ÅÃÄ¾ß ÇÑ´Ù. µ¥ÀÌÅÍÀÇ Ãâó ¶ÇÇÑ ºÒ¸íÈ®ÇØÁø´Ù. ½ÇÁ¦·Î ¸ðµ¨ÀÇ ´À³¦Àº A°¡ ´õ º¹ÀâÇÔÀ» ¾Ë ¼ö ÀÖ´Ù. ´À³¦ÀÌ ¿À´Â°¡? ¾î¶»°Ô ¼³°èÇÏ´ÂÁö¿¡ µû¶ó ¼º´É¿¡ ¸¹Àº Â÷À̰¡ ³ª°í, µ¥ÀÌÅÍÀÇ Ãâó°¡ ¾ÆÁÖ ¸íÈ®ÇØ Áö°í SQLµµ ´Ü¼øÇØÁø´Ù.
±×·¸´Ù¸é B ¸ðµ¨ÀÌ ´õ ÁÁÀº ¸ðµ¨À̶ó°í ¸» ÇÒ ¼ö ÀÖÀ»±î? B ¸ðµ¨Àº °ü¸®ÇØ¾ß ÇÒ Ä÷³ ¼ö°¡ ´Ã¾î³ª°í ±× ¸¸Å­ÀÇ Ãß°¡ÀûÀÎ ÀúÀå °ø°£µµ ´õ ÇÊ¿äÇÏ´Ù. ¼³°èÀÇ ±âÁØÀº µ¥ÀÌÅͰ¡ ¾îµð±îÁö Á¢±ÙÇÒ Çʿ伺ÀÌ ÀÖ´ÂÁö¿¡ ´ëÇÑ ¿ä±¸»çÇ×ÀÌ Á¤ÀǵǾî ÀÖ¾î¾ß ÇÑ´Ù. ¸¸¾à F Å×À̺íÀÌ A Å×ÀÌºí¿¡ Á¢±ÙÇØ¾ß Çϰí, G Å×À̺íÀº A, C, F ¸ðµÎ Á¢±ÙÇØ¾ß Çϰí, ³ª¸ÓÁö´Â Á¢±ÙÀÇ Çʿ伺ÀÌ ¾ø´Ù¸é ¸ðµ¨Àº <±×¸² 2>¿Í °°Àº A, B ¸ðµ¨ÀÇ È¥ÇÕµÈ ÇüŰ¡ µÉ °ÍÀÌ´Ù.
¾î¶² °ÍÀÌ ´õ À¯¸®ÇÑÁö ÆÇ´ÜÇÏ´Â °ÍÀº ¸ðµ¨¸µ ¶Ç´Â ¼³°èÇÏ´Â »ç¶÷ÀÇ ´É·Â¿¡ µû¶ó ´Þ¶óÁø´Ù. ÇÊÀÚµµ ¡®»óȲ¡¯ÀÌ ÁÖ¾îÁöÁö ¾Ê´Â ÀÌ»ó ¾î¶² ¸ðµ¨ÀÌ ´õ ÁÁ´Ù°í´Â ¸»ÇÒ ¼ö ¾ø´Ù. ÁÖÀÇÇØ¾ß ÇÒ °ÍÀº ÃÖ»óÀ§ Å×À̺íÀÎ A°¡ ¸Å¿ì ´Ü¼øÇØ¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. ¹°¸®ÀûÀ¸·Î º¸¸é UID_A°¡ INTÇüÀÎ °æ¿ì¿Í CHAR(50)ÀÎ °æ¿ì´Â °ü°è¸¦ ¸ÎÀ» ¶§¿Í À妽º Å©±â¿¡ ¿µÇâÀ» ³¢Ä¡°Ô µÈ´Ù. Áï, ÃÖ»óÀ§ Å×À̺íÀÌ °¡º­¿ì¸é °¡º­¿ï¼ö·Ï ÁÁ´Ù´Â °ÍÀÌ´Ù. UID_A°¡ CHAR(50)ÀÎ °æ¿ì C, F, G Å×À̺íÀ» º¸¸é °¢ Çà(Row)¸¶´Ù CHAR(50) ¸¸Å­ÀÇ ÀúÀå °ø°£ÀÌ ÇÊ¿äÇÏ´Ù´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¡¼­ ÀϹÝÀûÀ¸·Î ÄÚµå Å×ÀÌºí °°Àº °æ¿ì´Â ´ë¸®Å°(¼³°è¼Ó¼º)¸¦ »ç¿ëÇÏ¿© ÀÌ·¯ÇÑ ÀúÀå °ø°£°ú À妽ºÀÇ Å©±â¸¦ ÁÙ¿© ¼º´É°ú ÇÔ²² Á¤º¸ÀÇ ÁúÀ» ³ôÀδÙ.

<±×¸² 2> A, B ¸ðµ¨ÀÌ È¥ÇÕµÈ ÇüÅÂ
 
°ü°è¸¦ ²÷À» °ÍÀΰ¡? À¯Áö ÇÒ °ÍÀΰ¡?
 
¾ó¸¶ Àü ÇÊÀÚÀÇ È¨ÆäÀÌÁö¿¡ ¡®ÂüÁ¶ ¹«°á¼º¡¯ Áï, °ü°è¸¦ ¸Î´Â °ÍÀº ºÎÇÏÀΰ¡? ¿¡ ´ëÇÑ Áú¹®ÀÌ ¿Ã¶ó¿Ô´Ù. ÇÊÀÚ´Â ´©±º°¡ ÀÌ·¯ÇÑ »ý°¢À» ÇÏ´Â »ç¶÷ÀÌ ÀÖ´Ù´Â ÀÚü°¡ ¸Å¿ì ¹Ý°¡¿ü´Ù. ¿¹Àü¿¡ ¿©·¯ ¾÷ü¸¦ ¹æ¹®ÇÏ¿© °ü°è¸¦ ¿Ö ²÷¾î ³õ¾Ò³Ä°í Çϸé, ¡®°³¹ßÇÒ ¶§ µ¥ÀÌÅÍ ³Ö±â°¡ Èûµé¾î¼­...¡¯ ¶ó´Â ´äº¯ÀÌ °¡Àå ¸¹¾Ò´Ù. ±×·¯¸é¼­ °ü°èÇü µ¥ÀÌÅͺ£À̽º¿¡ ´ëÇÑ À̾߱⸦ Çϰï ÇÑ´Ù. ´õ ¿ì½º¿î °ÍÀº ¸¹Àº ½Ã°£°ú ºñ¿ëÀ» ÅõÀÚÇÏ¿© ¿­½ÉÈ÷ ã¾Æ³½ °ü°è¸¦ ¹°¸®¸ðµ¨¿¡¼­´Â ²÷¾î³õ°í µ¥ÀÌÅͰ¡ ¸ÂÁö ¾Ê´Â´Ù°í ¿ÜºÎ Á¶ÀÎ(Outer Join)À» ¾²°í ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÌ´Â °ü°è¸¦ ã¾Æ³»·Á°í µéÀÎ ³ë·Â, ½Ã°£, ºñ¿ëÀ» ÇÑ ¼ø°£¿¡ ³¯·Á¹ö¸®´Â ÀÏÀÌ´Ù. ¶ÇÇÑ ¿ÜºÎ Á¶ÀÎÀ¸·Î DBMS°¡ ºÒ¸®ÇÑ ½ÇÇà°èȹÀÌ ¸¸µé¾î Áö±â ¶§¹®¿¡ ¼º´Éµµ ÀúÇϵȴÙ. ÀÌ·± °æ¿ì SQLÀ» Æ©´×Çϰí À妽º¸¦ »ý¼ºÇÏ´À¶ó ¾Ö ¸ÔÀ» Çʿ䰡 ÀüÇô ¾ø´Ù. ´ÜÁö ¸î °³ÀÇ µ¥ÀÌÅͰ¡ ¸ÂÁö ¾Ê¾Æ¼­ ¿ÜºÎ Á¶ÀÎÀ» ÇÑ´Ù¸é ¸î °³ÀÇ µ¥ÀÌÅ͸¦ ã¾Æ³»¾î ¼öµ¿À¸·Î ¸ÂÃçÁÖ°í, °ü°è¸¦ ¸Î¾î ¹«°á¼ºÀ» º¸ÀåÇϰí, ³»ºÎ Á¶ÀÎ(Inner Join)À¸·Î ¹Ù²Ù¸é ÀÌ ºÎºÐ¿¡ ´ëÇÑ ¼º´É Æ©´×Àº ³¡³­´Ù. Æ©´× ÀÛ¾÷À» ÇÑ ±Ùº»ÀûÀÎ ¿øÀÎÀÌ ¹«¾ùÀΰ¡? °ü°è°¡ ¸Î¾îÀÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù. ±×·¸´Ù¸é °ü°è¸¦ ¸ÎÀ» ¶§¿Í ¸ÎÁö ¾Ê¾ÒÀ» ¶§´Â ¹°¸®ÀûÀ¸·Î ¾î¶² Â÷ÀÌÁ¡ÀÌ ÀÖ´ÂÁö »ìÆìº¸ÀÚ.
<±×¸² 2>¿Í °°ÀÌ ¹°¸®ÀûÀ¸·Î ±¸ÇöÀÌ µÇ¾î ÀÖ´Ù¸é E Å×ÀÌºí¿¡ ÇÑ °ÇÀÇ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇϸé B Å×ÀÌºí¿¡ µ¥ÀÌÅͰ¡ Á¸ÀçÇÏ´ÂÁö °Ë»çÇÏ°Ô µÈ´Ù. SQL¸¸ º»´Ù¸é ´Ü ÇÑ ÁÙÀÇ ¹®ÀåÀÌÁö¸¸ DBMS ³»ºÎÀûÀ¸·Î´Â B Å×À̺í°ú E Å×À̺íÀ» Á¶ÀÎÇÏ¿© B Å×ÀÌºí¿¡ µ¥ÀÌÅͰ¡ Á¸ÀçÇÏ´ÂÁö ÆÇ´ÜÇÏ°Ô µÈ´Ù. ÀÌ´Â ½ÇÇà°èȹÀ» ÅëÇÏ¿© È®ÀÎÇÒ ¼ö ÀÖ´Ù. ´ÙÀ½ÀÇ ¿¹¸¦ º¸ÀÚ.


<±×¸² 3> »ç¿ø°ú ºÎ¼­ÀÇ °ü°è¸¦ ³ªÅ¸³½ ERD
<È­¸é 1>°ú °°ÀÌ Å×À̺íÀÌ ¸¸µé¾îÁ® ÀÖ´Ù. °ü°è¸¦ ¸Î°í ÀÖÀ» ¶§¿Í °ü°è¸¦ ²÷¾úÀ» °æ¿ì Emp Å×ÀÌºí¿¡ µ¥ÀÌÅÍ 1°ÇÀ» ÀÔ·ÂÇÏ¸é ½ÇÇà°èȹÀÌ ¾î¶»°Ô ¸¸µé¾îÁö´ÂÁö »ìÆìº¸ÀÚ.

<È­¸é 1> °ü°è°¡ ¸Î¾î ÀÖ´Â °æ¿ìÀÇ ½ÇÇà°èȹ

<È­¸é 2> °ü°è°¡ ¸Î¾î ÀÖÁö ¾ÊÀº °æ¿ìÀÇ ½ÇÇà°èȹ

<È­¸é 2>¸¦ º¸¸é Dept Å×À̺í°ú Á¶ÀÎÇÏ´Â °ÍÀÌ º¸ÀδÙ. Áï, µ¥ÀÌÅÍ ¹«°á¼º üũ¸¦ ÇÑ °ÍÀÌ´Ù. ¹Ý¸é¿¡ <È­¸é 3>¿¡¼­´Â ¹«°á¼ºÀÌ º¸ÀåµÇÁö ¾Ê¾Æ ¾Æ¹«°Íµµ ¾øÀÌ ±×³É Emp Å×ÀÌºí¿¡¸¸ µ¥ÀÌÅ͸¦ ÀÔ·ÂÇÑ´Ù. ÀÌ µÑÀÇ Â÷ÀÌ´Â ¼º´É Ãø¸é¿¡¼­¸¸ º»´Ù¸é °ü°è¸¦ ²÷´Â °ÍÀÌ µµ¿òÀÌ µÈ´Ù. ÇÏÁö¸¸ ¿ì¸®°¡ ¿©±â¼­ »ý°¢ÇØ¾ß ÇÒ °ÍÀº ¼º´ÉÀÌ ÃÖ¿ì¼±ÀÌ ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. ¡®ÃÖÀûÈ­¡¯ÀÇ ´ë»óÀº ¼º´ÉÀÌ ¾Æ´Ï¶ó ¹Ù·Î ¡®Á¤º¸ÀÇ Áú¡¯ÀÌ´Ù. µ¥ÀÌÅÍÀÇ ¹«°á¼ºÀº Á¤º¸ÀÇ Á¤È®¼º°ú °ü·ÃµÈ °ÍÀ̹ǷΠ¸¸¾à DBMS¿¡¼­ ¹«°á¼ºÀÌ º¸ÀåµÉ ¼ö ¾ø´Ù¸é ¾ÖÇø®ÄÉÀ̼ǿ¡¼­¶óµµ ¹«°á¼ºÀ» º¸ÀåÇÏ´Â °ÍÀÌ ¿Ç´Ù. ¹°·Ð ÀϹÝÀûÀÎ À̾߱âÀÌ´Ù. ¸¸¾à ÇϳªÀÇ Æ®·£Àè¼ÇÀ» ¸Å¿ì ª°Ô ½ÇÇàÇϰí, »ç¿ëÀÚ°¡ ¸Å¿ì ¸¹Àº ȯ°æ¿¡¼­´Â ¹«°á¼º ¶§¹®¿¡ ¼­ºñ½º¿¡ ¿µÇâÀ» ÁØ´Ù¸é °ü°è¸¦ ²÷´Â °ÍÀÌ ¸Â´Ù. ¹°·Ð µ¥ÀÌÅÍ ¹«°á¼ºÀº ¾îµð¼­³ª ÁöÄÑÁ®¾ß Çϸç Á¤È®¼ºÀÌ ¶³¾îÁú ¼ö ÀÖÀ½À» °¨¼öÇÒ ¼ö Àִ ȯ°æ¿¡¼­ ÀÏ °ÍÀÌ´Ù.
<¸®½ºÆ® 2> °ü°è¸¦ ²÷À» °ÍÀΰ¡? À¯Áö ÇÒ °ÍÀΰ¡?
CREATE TABLE dbo.Dept (
DeptNo int NOT NULL ,
DeptName varchar (50) NULL
) ON PRIMARY
GO

CREATE TABLE dbo.Emp (
EmpNo int NOT NULL ,
EmpName varchar (50) NULL ,
DeptNo int NULL
) ON PRIMARY
GO

ALTER TABLE dbo.Emp ADD
CONSTRAINT FK_Emp_Dept FOREIGN KEY
(
DeptNo
) REFERENCES dbo.Dept (
DeptNo
)
GO

--Dept Å×ÀÌºí µ¥ÀÌÅÍ ÀÔ·Â
INSERT INTO Dept VALUES(1, ''¿µ¾÷ºÎ'')
INSERT INTO Dept VALUES(2, ''Ãѹ«ºÎ'')
GO

--°ü°è°¡ ¸Î¾îÁ® ÀÖÀ» °æ¿ì
INSERT INTO Emp Values(101, ''ÀÌÀçÇÐ'', 1)
GO

--°ü°è »èÁ¦
ALTER TABLE dbo.Emp DROP CONSTRAINT FK_Emp_Dept
GO

--°ü°è¸¦ ²÷¾úÀ» °æ¿ì
INSERT INTO Emp Values(102, ''¹ÚÁ¤¿¬'', 1)
GO
 
°³Ã¼ÁýÇÕÀÇ Á¤ÀÇ¿¡ µû¸¥ ¸ðµ¨ º¯È­
 
´ëºÎºÐÀÇ °³Ã¼ÁýÇÕÀ̳ª °ü°èÀÇ Á¤ÀÇ´Â ¼³°è´Ü°è¿¡¼­ °áÁ¤µÈ´Ù. ÇÏÁö¸¸ µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ´Â °úÁ¤¿¡¼­ ¾÷¹«»óȲÀÌ ¹Ù²î¸é ´ç¿¬È÷ Çö½ÇÀ» Ç¥ÇöÇϰí ÀÖ´Â µ¥ÀÌÅÍ ¸ðµ¨µµ µû¶ó¼­ º¯È­µÇ¾î¾ß ÇÑ´Ù. ¶ÇÇÑ °³Ã¼ÁýÇÕÀ» ¾î¶»°Ô Á¤ÀÇÇÏ´À³Ä¿¡ µû¶ó¼­µµ ¸ðµ¨ÀÌ º¯È­ÇÑ´Ù.

<±×¸²4> ¼ö°­ ERD
<±×¸² 4>ÀÇ ERD¿¡¼­´Â ¡®±³½Ç¡¯ °³Ã¼ÁýÇÕÀÌ Çö½Ç»ó Á¸ÀçÇÏ´Â °Ç¹°(¿¹: À̰ø°ü 501È£)·Î Á¤ÀÇÇß´Ù. ±×·¯³ª °­ÀÇÁ¤Ã¥ÀÌ º¯Çؼ­ °³¼³µÈ °­Á°¡ °¡»ó°ø°£¿¡¼­ ÀϾ´Â ¡®»çÀ̹ö°­Á¡¯°¡ µÇ¾ú´Ù¸é ¾Õ¼­ Á¤ÀÇÇÑ ¡®±³½Ç¡¯ °³Ã¼ÁýÇÕÀÇ ¹üÀ§¿¡¼­ ¹þ¾î³ª ¹ö¸°´Ù. ´Ù½Ã ¸»ÇØ ¡®±³½Ç¡¯ °³Ã¼ÁýÇÕÀÇ °³³ä ¹üÀ§°¡ È®ÀåµÈ °ÍÀÌ´Ù. ±×·¯¸é ¸í½ÃÀû(Mandatory)À̾ú´ø °ü°è´Â ÀÓÀÇ(Optional)°ü°è·Î ¹Ù²ï´Ù.

<±×¸²5> ÀÓÀÇ(Optional) °ü°è
¿©±â¿¡¼­ ÀÓÀÇ(Optional)´Â °ü°è°¡ ¸íÈ®ÇÏÁö ¾ÊÀ½À» ÀǹÌÇÑ´Ù. ±×·¯¹Ç·Î °³Ã¼ÁýÇÕÀÇ ¹üÀ§¸¦ È®ÀåÇÏ¿© ¡®±³½Ç¡¯ °³Ã¼ÁýÇÕÀÇ Á¤ÀÇ¿¡ ¡®»çÀ̹ö°­ÁÂÀÇ URL¡¯ À» Æ÷ÇÔÇÑ´Ù¸é ÀÚ¿¬½º·¹ ´Ù½Ã ¸í½ÃÀû °ü°è°¡ Çü¼ºµÈ´Ù.
¸í½ÃÀû °ü°è¿Í ÀÓÀÇ °ü°è´Â Á¤º¸ÀÇ ´ÜÀý ¿©ºÎ¿¡ µû¶ó Àû¿ëµÈ´Ù. Áï, ÀÓÀÇ °ü°è°¡ µÇ¸é ¹°¸®ÀûÀ¸·Î´Â NULL °ªÀ» °¡Áú ¼ö ÀÖ´Ù´Â ¶æÀÌ µÈ´Ù. NULL °ªÀº ¡®¾Ë ¼ö ¾ø´Â °ª¡¯ À̹ǷΠ°³Ã¼ ÁýÇÕ °£ÀÇ ¿¬°áÀ» ÅëÇÏ¿© ¾ò´Â µ¥ÀÌÅÍ¿¡ ´ëÇØ¼­ NULL °ªÀ» °¡Áö´Â µ¥ÀÌÅÍ´Â Àϰü¼ºÀÌ ¾ø¾îÁú ¼öµµ ÀÖ°Ô µÈ´Ù. Áï, ÀÓÀÇ °ü°èÀÇ °æ¿ì °³¼³µÈ °­Á´ À̰ø°ü 501È£¿¡¼­ °­ÀÇÇÒ ¼öµµ ÀÖ°í, °­ÀǸ¦ ¾îµð¼­ ¹Þ´ÂÁö ¸ô¶ó ÇлýµéÀÌ ¿ì¿ÕÁÂ¿Õ ÇÒ ¼öµµ ÀÖ´Ù´Â ¶æÀÌ µÈ´Ù. ÀÌ·¯ÇÑ °æ¿ì ¸ðµ¨·¯´Â °­ÇÑ Ã¥ÀÓ°¨À¸·Î ¹®Á¦Á¡À» ã¾Æ³»¾î ÇÁ·ÎÁ§Æ® ÀÌÇØ°ü°èÀÚµéÀ» À̲ø¾î¾ß ÇÑ´Ù.

<±×¸²6> URL ÁöÁ¤À¸·Î ÀÓÀÇ °ü°è¸¦ ¸í½ÃÀû °ü°è·Î ¸¸µé±â
 
 
Á¤±ÔÈ­ÀÇ ÀÌÁ¡
 
µ¥ÀÌÅͺ£À̽º ¼³°è¿¡¼­ »©³õÀ» ¼ö ¾ø´Â °ÍÀÌ ¹Ù·Î Á¤±ÔÈ­ÀÌ´Ù. Á¤±ÔÈ­´Â ¹«°á¼ºÀ» º¸ÀåÇÏ°í ¼º´ÉÀ» Çâ»ó½Ã۱â À§ÇØ »ç¿ëÇÒ ¼ö ÀÖ´Â ÃÖ°íÀÇ ¼³°è ¼Ö·ç¼ÇÀ̱⠶§¹®ÀÌ´Ù. ÀÌ ¼Ö·ç¼ÇÀÇ ÇÙ½ÉÀº ¡®µ¥ÀÌÅÍÀÇ Áߺ¹À» ¾ø¾Ö´Â °Í¡¯À̶ó°í ÇÒ ¼ö ÀÖ´Ù. µ¥ÀÌÅÍÀÇ Áߺ¹À» ¾ø¾Ö´Â °ÍÀº µ¥ÀÌÅͺ£À̽º¿¡¼­´Â ¸Å¿ì Áß¿äÇÑ ÀÏÀÌ´Ù. µ¥ÀÌÅÍÀÇ Áߺ¹Àº ÅëÇÕµÈ Á¤º¸ÀÇ ÃëµæÀ» ¾î·Æ°Ô ¸¸µé°í, µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀÇ ¼º´É ÀúÇϵǴ ¿øÀÎÀÌ µÈ´Ù. ¹°·Ð À妽º¸¦ Á¦´ë·Î Ȱ¿ëÇÏÁö ¸øÇѴٰųª Çϵå¿þ¾î¿¡¼­ÀÇ º´¸ñ µî ¿©·¯ °¡Áö »óȲÀûÀÎ ¿ä¼Òµµ ¼º´É ÀúÇÏÀÇ ¿øÀÎÀÌ µÇ°ÚÁö¸¸ ÀÌ·± »çÇ×µéÀº ºñ±³Àû ½±°Ô °³¼±ÇÒ ¼ö ÀÖ´Ù. ÇÏÁö¸¸ ¼³°è»óÀÇ ¹®Á¦·Î µ¥ÀÌÅͰ¡ Áߺ¹µÇ´Â °ÍÀº SQLÀÌ º¹ÀâÇØÁö°í ¼º´É ÀúÇÏÀÇ ¹®Á¦¸¦ °¡Á®¿Ã »Ó ¾Æ´Ï¶ó °³¼±µµ ¾î·Á¿öÁø´Ù´Â Á¡ÀÌ ¹®Á¦ÀÎ °ÍÀÌ´Ù.
¿Ö ±×·²±î? ÀÌÂë¿¡¼­ ¿ì¸®´Â ±âº»ÀûÀÎ ÄÄÇ»ÅÍÀÇ ±¸Á¶¸¦ »ý°¢ÇØ¾ß ÇÑ´Ù. ±âÃÊ Àü»êÇп¡´Â ¡®Æù ³ëÀ̸¸¡¯ÀÇ ¡®ÇÁ·Î±×·¥ ³»À广½Ä¡¯À̶ó´Â ¸»ÀÌ ³ª¿Â´Ù. ±âº»ÀûÀ¸·Î CPU´Â ¸ÞÀÎ ¸Þ¸ð¸®(RAM)¿¡¸¸ Á¢±ÙÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù. ±×·¯¹Ç·Î CPU°¡ ó¸®Çϱâ À§Çؼ­´Â µ¥ÀÌÅ͸¦ HDD¿¡¼­ RAMÀ¸·Î ²ø¾î ¿Ã·Á¾ß¸¸ ÇÑ´Ù. ÀÌ °úÁ¤¿¡¼­ ÄÄÇ»ÅÍ´Â ¸Å¿ì Å« ºñ¿ëÀ» »ç¿ëÇÏ°Ô µÈ´Ù. HDD°¡ ¸Å¿ì ´À¸° Çϵå¿þ¾î ÀÚ¿øÀ̱⠶§¹®ÀÌ´Ù. ±×·¸´Ù¸é µ¥ÀÌÅÍÀÇ Áߺ¹ÀÌ ÀÖ´Ù°í »ý°¢À» ÇØº¸ÀÚ. HDD¿¡¼­ RAMÀ¸·Î µ¥ÀÌÅ͸¦ ¿Ã·Á¾ß ÇÑ´Ù. µ¥ÀÌÅͰ¡ Áߺ¹µÇ¾î ÀÖ´Ù¸é Áߺ¹µÈ ¸¸Å­ HDD¸¦ ÀÐÀ¸¸ç ºñ¿ëÀ» »ç¿ëÇϴ Ƚ¼ö°¡ ´Ã°í ºñÁ¼Àº RAMÀÇ ÀúÀå °ø°£µµ ´õ ¸¹ÀÌ ÇÊ¿äÇÏ°Ô µÈ´Ù. ¶ÇÇÑ CPU´Â µ¥ÀÌÅͰ¡ Áߺ¹µÈ ¸¸Å­ ´õ 󸮸¦ ÇØ¾ß ÇÏ´Â °ÍÀÌ´Ù. ÀÌ °úÁ¤¿¡¼­ µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛÀÇ ¼º´ÉÀÌ ¶³¾îÁö´Â °ÍÀº ¹°·ÐÀ̰í Á¤º¸ÀÇ Áú°ú ±Ã±ØÀûÀ¸·Î´Â »ç¿ëÀÚÀÇ Á¤º¸ ¿å±¸¸¦ ¸¸Á·½ÃŰÁö ¸øÇÏ´Â °á°ú¸¦ ÃÊ·¡ÇÏ°Ô µÇ´Â °ÍÀÌ´Ù.
 
ºñÁ¤±ÔÈ­¿Í ÅëÇÕ

ºñÁ¤±ÔÈ­ Å×À̺íÀº ÀϹÝÀûÀ¸·Î Ä÷³ÀÇ °³¼ö°¡ ¸¹´Ù. Ä÷³ÀÇ °³¼ö°¡ ¸¹´Ù´Â À̾߱â´Â µ¥ÀÌÅÍ ÇàÀÇ Å©±â°¡ Å©´Ù´Â ¶æµµ µÈ´Ù. ¾Õ¼­ »ìÆìº» ¹Ù¿Í °°ÀÌ ÇϳªÀÇ µ¥ÀÌÅÍ ÇàÀÇ Å©±â°¡ Ä¿Áö¸é ÃÖ¼Ò ÀÔÃâ·Â ´ÜÀ§¿¡ µ¥ÀÌÅÍ ÇàÀÌ ¸¹ÀÌ µé¾î°¡Áö ¸øÇÑ´Ù. ½ÉÇÑ °æ¿ì ÀÔÃâ·Â µ¿ÀÛÀÌ ´Ã¾î³ª°í À߸øÇÏ¸é µ¥ÀÌÅÍ ÇàÀÌ °¢°¢ÀÇ ÆäÀÌÁö¿¡ Á¸ÀçÇÒ ¼öµµ ÀÖ´Ù. ºñÁ¤±ÔÈ­ÀÇ ¹®Á¦Á¡¿¡ ´ëÇØ Á» ´õ ÀÚ¼¼È÷ ¾Ë¾Æº¸±â À§ÇØ <¸®½ºÆ® 3>°ú °°Àº Å×À̺íÀÌ ¸¸µé¾ú´Ù°í °¡Á¤ÇÏÀÚ.
<¸®½ºÆ® 3> Â÷·®°ü¸®ºñ³»¿ª Å×À̺í
CREATE TABLE Â÷·®°ü¸®ºñ³»¿ª(
Â÷·®¹øÈ£ VARCHAR(10)
, °ü¸®ºÎ¼­ NUMBER
, ¿¬·á NUMBER
, ÁÖÂ÷ºñ NUMBER
, ¼¼Â÷ºñ NUMBER
, À±È°À¯ NUMBER
, ºÎǰ´ë NUMBER
, ¼ö¸®ºñ NUMBER
, ŸÀ̾ȯºñ NUMBER
, ÀÚµ¿Â÷¼¼ NUMBER
, ȯ°æ¼¼ NUMBER
, º¸Çè·á NUMBER)
Àß º¸¸é ÀÌ¿Í °°Àº °æ¿ì´Â ¸í¹éÇÑ 1Â÷ Á¤±ÔÈ­ À§¹è¶ó´Â »ç½ÇÀ» ¾Ë ¼ö ÀÖ´Ù. ¿¬·á, ÁÖÂ÷ºñ, ¼¼Â÷ºñ, À±È°À¯ µîÀº ¡®Â÷·®°ü¸®ºñ¡¯ Á¤µµ·Î ¸¸µé°í, ¡®±¸ºÐ¡¯ Ä÷³À» ¸¸µé¸é µÈ´Ù. Áï, ¡®Â÷·®°ü¸®ºñ¡¯´Â ´ÙÁß °ª ¼Ó¼ºÀÌ µÇ¾î ´Ù¸¥ Å×À̺í·Î ¶³¾îÁ® ³ª°¡°Ô µÈ´Ù. ¶ÇÇÑ ¿©·¯ Ä÷³À» ÅëÇØ ´Ù¸¥ °³Ã¼ÁýÇÕÀÌ ÀÖÀ½À» ¾Ë ¼ö ÀÖ´Ù. ±×·¡¼­ <±×¸² 7>°ú °°Àº ³í¸® ERD°¡ ±×·ÁÁú °ÍÀÌ´Ù.


<±×¸² 7> Â÷·®°ü¸®ºñ³»¿ªÀÇ ³í¸® ERD
°¢°¢ÀÇ Å×ÀÌºí¿¡ ÇÒ´ç ¹ÞÀº ÀúÀå °ø°£À» È¿À²ÀûÀ¸·Î »ç¿ëÇÏ·Á¸é Å×À̺íÀ» ÃÖ´ëÇÑ Á¼°Ô ¼³°èÇØ¾ß ÇÑ´Ù. Á¼°Ô ¼³°èÇÑ µ¥ÀÌÅÍ ÇàÀ̾î¾ß¸¸ ÃÖ¼Ò ÀÔÃâ·Â ´ÜÀ§¿¡ ²Ë²Ë ä¿ï ¼ö Àֱ⠶§¹®ÀÌ´Ù. ÀÌ °úÁ¤¿¡¼­ ÀÔÃâ·Â´ÜÀ§°¡ ÁÙ¾îµå´Â °Í »Ó ¾Æ´Ï¶ó ¿©·¯ °¡Áö ÀÌ»ó Çö»óÀÌ ¹ß»ýÇÏ´Â °Íµµ ¹Ì¿¬¿¡ ¹æÁöÇÏ´Â È¿°ú¸¦ ÇÔ²² ¾òÀ» ¼ö ÀÖ´Ù.
Â÷·®°ü¸®ºñ³»¿ª¿¡¼­ ¡®°Ë»çºñ¡¯°¡ Ãß°¡µÈ´Ù°í °¡Á¤ÇÏÀÚ. ºñÁ¤±ÔÈ­µÈ °æ¿ì´Â Å×À̺íÀ» º¯°æÇØ¾ß »õ·Î¿î Ä÷³À» Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª <±×¸² 7>°ú °°Àº °æ¿ì ºñ¿ë°ú ±¸ºÐÀ» Ãß°¡ÇÏ´Â °ÍÀ¸·Î °Ë»çºñ Ç׸ñÀ» ÇØ°áÇÒ ¼ö ÀÖ´Ù. ÃÖ¼ÒÇÑÀÇ º¯°æ¸¸À¸·Î À¯¿¬¼ºÀÌ È®º¸µÉ ¼ö ÀÖ´Â °ÍÀÌ´Ù. ¶ÇÇÑ À妽º¿Í °°Àº Ãß°¡ÀûÀÎ ¹°¸®Àû °´Ã¼ÀÇ »ý¼ºµµ ¸·À» ¼ö ÀÖ´Ù. À̰ÍÀº °ü¸®ÇØ¾ß ÇÒ °´Ã¼ÀÇ ¼ö°¡ ÁÙ¾îµå´Â °ÍÀ» ÀǹÌÇÑ´Ù.
½ÇÁ¦·Î °¡·Î·Î ³õ´À³Ä ¼¼·Î·Î ³õ´À³Ä´Â ¾÷¹«¿¡ µû¶ó ´Þ¶óÁú ¼ö ÀÖ´Ù. ¼º´ÉÀÌ ¸Å¿ì Áß¿äÇÑ °æ¿ì¿¡´Â ¼¼·Î º¸´Ù´Â °¡·Î·Î ³õ´Â ÆíÀÌ È¿°úÀûÀÏ ¶§°¡ ÀÖ´Ù. ¼¼·Î·Î ³õ´Â ´Ù´Â °ÍÀº ÅëÇÕÀ» ÀǹÌÇÏ¸ç ´ëºÎºÐÀº ÅëÇÕÀÌ À¯¸®ÇÏ´Ù. °¡·Î·Î ÆîÃÄ ³õ´Ù º¸¸é À妽º¸¦ À¯ÁöÇÏ´Â ºñ¿ëÀÌ ´õ Ä¿Áö±â ¶§¹®ÀÌ´Ù. ºñ½ÁÇÑ ¿¹·Î ´ÙÀ½°ú °°Àº ½ºÅ°¸¶¸¦ µé ¼ö ÀÖ´Ù.
¡Ü ¼­Àû(ISBN, µµ¼­¸í, ÆäÀÌÁö¼ö, ÀúÀÚ1, ÀúÀÚ2, ÀúÀÚ3)
¡Ü ȸ¿ø(ȸ¿øID, ȸ¿ø¸í, ÀüÈ­¹øÈ£, °¡ÀÔÀϽà °è¾àÀϽÃ, °áÁ¦ÀϽÃ, ¹ß¼ÛÀϽÃ, ¹æ¹®ÀϽÃ)
<¸®½ºÆ® 4> ȸ¿øÁ¤º¸ Á¶È¸
SELECT
ȸ¿øID
, ȸ¿ø¸í
, ÀüÈ­¹øÈ£
FROM ȸ¿ø
WHERE
°¡ÀÔÀϽà = ''20060505''
OR °è¾àÀϽà = ''20060505''
OR °áÁ¦ÀϽà = ''20060505''
OR ¹ß¼ÛÀϽà = ''20060505''
OR ¹æ¹®ÀϽà = ''20060505''
¸ÕÀú ¼­ÀûÀÇ ½ºÅ°¸¶¸¦ º¸ÀÚ. ¹«¾ùÀÌ ¹®Á¦Àΰ¡? ÀúÀÚ1, ÀúÀÚ2, ÀúÀÚ3ÀÌ ¹®Á¦ÀÌ´Ù. °ü°èÇü ¸ðµ¨ÀÇ ÁÖ¿ä ¿øÄ¢ Áß¿¡ ÇϳªÀÎ ¡®Ä÷³ÀÇ ¿øÀÚ °ª¡¯À» À§¹ÝÇ߱⠶§¹®ÀÌ´Ù. Ä÷³ÀÇ ¿øÀÚ °ªÀ̶õ ÇϳªÀÇ °ªÀÌ ¾Æ´Ï¶ó ´Ü ÇϳªÀÇ Àǹ̸¦ °¡Á®¾ß ÇÑ´Ù´Â °ÍÀ¸·Î º¸¾Æ¾ß ÇÑ´Ù. ÀúÀÚ1, ÀúÀÚ2, ÀúÀÚ3°ú °°ÀÌ Ç¥ÇöµÈ °ÍÀº ¡®ÀúÀÚ¡¯ÀÇ ÀÇ¹Ì¿Í ¡®¼ø¼­¡¯ÀÇ Àǹ̰¡ ÀÖ´Ù. Áï, ¹è¿­°ú °°Àº Àǹ̷Π¾²ÀÎ °ÍÀÌ´Ù. ¹°·Ð ¹°¸®ÀûÀÎ ±¸ÇöÀº DBMSÀÇ ¹è¿­Çü Ä÷³¿¡ ´ëÇÑ Áö¿ø¿©ºÎµµ Å©´Ù. ÇÏÁö¸¸ ³í¸® ¸ðµ¨Àº ³í¸® ¸ðµ¨ÀÏ »Ó ¹°¸®ÀûÀÎ °Í°ú´Â µ¶¸³¼ºÀ» °¡Á®¾ß ÇÑ´Ù´Â °ÍÀÌ ¿øÄ¢ÀÌ´Ù. ¶ÇÇÑ µÎ ¸ðµ¨¿¡ Ãß°¡ ¿ä±¸»çÇ×ÀÌ ¹ß»ýÇÏ¸é ¾î¿ ¼ö ¾øÀÌ Å×À̺íÀ» º¯°æÇØ¾ß ÇÑ´Ù. ¼­ÀûÀÇ °æ¿ì ÀúÀÚ 1¸íÀÌ ´Ã¾î³ª¸é ¡®ÀúÀÚ4¡¯ Ä÷³ÀÌ Ãß°¡µÇ¾î¾ß Çϸç, ȸ¿øÀÇ °æ¿ìµµ ¸¶Âù°¡Áö·Î ¡®Å»ÅðÀϽᯰ¡ ÇÊ¿äÇÏ´Ù¸é ¿ª½Ã Ä÷³ÀÌ Ãß°¡µÇ¾î¾ß ÇÏ´Â ¹®Á¦°¡ ¹ß»ýÇÑ´Ù.
ȸ¿ø ½ºÅ°¸¶ÀÇ °æ¿ì´Â ¾î¶°ÇѰ¡? ¼­Àû°ú´Â Á¶±Ý Â÷À̸¦ º¸ÀÏ °ÍÀÌ´Ù. ¼­ÀûÀÇ °æ¿ì´Â ´Ü¼øÈ÷ ´ÙÁß °ª ¼Ó¼ºÀ» Ä÷³À¸·Î ´Ã¾î¶ß¸° °æ¿ìÀÌ´Ù. ÇÏÁö¸¸ ȸ¿øÀÇ °æ¿ì¿¡´Â ÀÌ·¸°Ô ÇϱⰡ ¾î·Æ´Ù. ȸ¿øÀÇ °æ¿ì¿¡´Â <¸®½ºÆ® 4>¿Í °°Àº SQLÀ» ¿ä±¸ÇÒ ¼ö ÀÖ´Ù.
 <¸®½ºÆ® 4>ó·³ ȸ¿øÀ» °ü¸®ÇÏ´Â °æ¿ì ȸ¿øÀÌ Ãµ¸¸ ¸íÀ̶ó¸é ¾î¶² ¿ä±¸°¡ ¹ß»ýÇßÀ» ¶§ õ¸¸ °ÇÀÇ µ¥ÀÌÅ͸¦ ¸ðµÎ °Ë»öÇØ¾ß ¿ø ÇÏ´Â °á°ú¸¦ ¾òÀ» ¼ö ÀÖ´Â ¼ÀÀÌ µÈ´Ù. ±×·¸´Ù¸é À妽º´Â ¾î¶³ ±î? °¡ÀÔÀϽÃ, °è¾àÀϽà µî ¸ðµç Ä÷³¿¡ À妽º¸¦ »ý¼ºÇÏ´Â °Í ¿ª½Ã ½±Áö ¾ÊÀº ÀÏÀÌ´Ù. ÀÌ·¸°Ô ¸¹Àº µ¥ÀÌÅ͸¦ ó¸®ÇØ¾ß ÇÒ ¶§¿¡ ´Â µ¥ÀÌÅ͸¦ ÅëÇÕÇÏ´Â °ÍÀÌ °¡Àå ÁÁÀº ¹æ¹ýÀÌ´Ù. <±×¸² 8>°ú °°Àº Å×À̺íÀ» ±¸¼ºÇϸé SQLÀÌ ¾î¶»°Ô ¹Ù²î´ÂÁö »ìÆìº¸ÀÚ.

<±×¸² 8> ȸ¿ø Á¤º¸ Å×À̺í
<¸®½ºÆ® 5> ȸ¿ø Á¤º¸ Å×À̺íÀÇ SQL
SELECT
ȸ¿øID
, ȸ¿ø¸í
, ÀüÈ­¹øÈ£
FROM ȸ¿ø
WHERE
¹ß»ýÀϽà = ''20060505''
AND ¹ß»ý±¸ºÐ IN (''°¡ÀÔ'', ''°è¾à'', ''°áÁ¦'', ''¹ß¼Û'', ''¹æ¹®'')
 
 ¾óÇÍ º¸¾Æµµ SQLÀÌ »ó´çÈ÷ °£´ÜÇØ Á³´Ù´Â °ÍÀ» È®ÀÎÇÒ ¼ö ÀÖ ´Ù. À妽º´Â¡®¹ß»ýÀϽà + ¹ß»ý±¸ºÐ¡¯À¸·Î °áÇÕ À妽º¸¦ »ý¼ºÇÏ ¸é Ãß°¡ ¿ä±¸»çÇ×ÀÌ ¹ß»ýÇØµµ ½±°Ô ¿øÇÏ´Â °á°ú¸¦ °¡Á®¿Ã ¼ö ÀÖ ´Ù. Áï, ¡®Å»ÅðÀϽ᯶ó´Â Ãß°¡ÀûÀÎ ¿ä±¸»çÇ×ÀÌ ¹ß»ýÇϸ顮¹ß»ý±¸ ºÐ¡¯Ä÷³ °ªÀÇ µµ¸ÞÀο¡¡®Å»Å𡯰¡ Ãß°¡µÇ¸é µÈ´Ù. ÀÌ´Â Å×À̺íÀÌ º¯ÇÏ´Â °ÍÀÌ ¾Æ´Ï¶ó °ªÀÌ º¯ÇÏ´Â °ÍÀ̱⠶§¹®¿¡ Å×ÀÌºí ±¸Á¶´Â ÀüÇô º¯ÇÒ Çʿ䰡 ¾ø´Ù. ¿©±â¼­ ³õÄ¡Áö ¸»¾Æ¾ß ÇÒ ¹®Á¦°¡ Àִµ¥ ¹Ù·Î <±×¸² 8>ÀÇ¡®È¸ ¿ø¡¯À̶ó´Â ¸íĪÀÌ´Ù. À̴ ȸ¿øÀÌ ¾î¶² ÇàÀ§¸¦ ÇßÀ» ¶§ ÇϳªÀÇ °³ ü°¡ »ý¼ºµÇ´Â ÇàÀ§°³Ã¼ÁýÇÕÀÌ´Ù. ±×·¯¹Ç·Î¡®È¸¿ø¡¯Àº ¾Æ´Ò °ÍÀÌ ´Ù. ÃÖÁ¾ÀûÀ¸·Î´Â °ü°èÀÇ ÅëÇÕ¿¡ ÀÇÇØ ¹ß»ýµÈ ÇüÅ·Πº¼ ¼ö ÀÖ´Ù. ½±°Ô »ý°¢Çغ¸¸é ¹ß»ý±¸ºÐ ÇÑ °³ÀÇ °³Ã¼°¡ »ý¼ºµÉ ¶§¸¶´Ù ȸ¿ø¸í, ÀüÈ­¹øÈ£°¡ Áߺ¹µÇ¾î ÀúÀåµÈ´Ù. <±×¸² 8>¿¡¼­ ȸ¿øID°¡ yasicomÀΠȸ¿øÀÌ Å»Åð Çß´Ù°í °¡Á¤ÇÏ¿© µ¥ÀÌÅ͸¦ »ðÀÔÇϸé Áß º¹µÇ´Â °ÍÀ» ¾Ë ¼ö ÀÖ´Ù. ±×·¯¹Ç·Î ÀÌ ½ºÅ°¸¶´Â Á¤±ÔÈ­ ´ë»óÀÌ´Ù. ÇöÀç±îÁö »ìÆì º» °ÍÀ¸·Î¸¸ ÆÇ´ÜÇϸé óÀ½¿¡ ¼Ò°³Çß´ø ¿·À¸·Î ´Ã¾î¶ß¸° ½ºÅ°¸¶±¸Á¶´Â ¿©·¯ °¡Áö·Î ºÒ¸®ÇÏ´Ù. ÇÏÁö¸¸ Ãß°¡ÀûÀÎ ¿ä±¸»çÇ×ÀÌ ¹ß»ýÇÏÁö ¾Ê°í, ¾Õ¼­ ¿¹·Î µç SQL°ú °°ÀÌ ¿ä±¸°¡ ¾ø ÀÌ ÇϳªÀÇ Çุ Á¢±ÙÇÏ´Â °æ¿ì¶ó¸é ¿·À¸·Î ´Ã¾î¶ß¸° ºñÁ¤±ÔÈ­°¡ ´õ À¯¸®ÇÏ´Ù. <±×¸² 7>°ú °°Àº °æ¿ì´Â¡®¹ß»ý±¸ºÐ¡¯Ä÷³ÀÌ Ãß°¡µÊ À¸·Î¼­ ÀúÀå °ø°£ÀÌ ´Ã¾î³ª´Â ´ÜÁ¡ÀÌ ÀÖ´Ù. ¾î¶² °ÍÀÌ À¯¸®ÇÑÁö ´Â ÇöÀç¿Í ¹Ì·¡ÀÇ »óȲÀ» °í·ÁÇÑ Á¾ÇÕÀûÀÎ ÆÇ´ÜÀÌ ¿ä±¸µÈ´Ù.

À妽º Á¾·ù¿Í ¼±ÅÃ
 
À妽º´Â µ¥ÀÌÅͺ£À̽º ¹°¸® ¼³°è¿¡¼­ ¸Å¿ì Áß¿äÇÑ À§Ä¡¸¦ Â÷ÁöÇÑ´Ù. °°Àº µ¥ÀÌÅͺ£À̽º¶ó ÇÏ´õ¶óµµ À妽º Ȱ¿ë Àü·«¿¡ µû¶ó¼­ ¸Å¿ì ¸¹Àº ¼º´ÉÀÇ Â÷À̸¦ º¸À̱⠶§¹®ÀÌ´Ù. ¿©±â¿¡¼­´Â À妽ºÀÇ Á¾·ù¿Í ¾î¶² °æ¿ì¿¡ ¾î¶² À妽º¸¦ Àû¿ëÇØ¾ß ÇÏ´ÂÁö ¾Ë¾Æº¸µµ·Ï ÇÑ´Ù.
ÀϹÝÀûÀÎ RDBMS¿¡¼­ÀÇ À妽º´Â ´ÙÀ½°ú °°ÀÌ µÎ °¡Áö Á¾·ù·Î ³ª´¶´Ù.
¡Ü ½ºÆÄ½º À妽º(Sparse Index) : ÇØ´ç ·¹ÄÚµå Á¸Àç ÆäÀÌÁö¸¦ °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ÀúÀåÇÏ´Â À妽º
¡Ü µ§½º À妽º(Dense Index) : ÇØ´ç ·¹Äڵ带 °¡¸®Å°´Â Æ÷ÀÎÅ͸¦ ÀúÀåÇÏ´Â À妽º
* Èü(Heap) : µ¥ÀÌÅͰ¡ ÀԷµǴ ¼ø¼­¿¡ µû¶ó Á¤·ÄµÇ¾î ½×ÀÌ´Â Å×ÀÌºí ±¸Á¶
ÆäÀÌÁö¿¡´Â ¿©·¯ °³ÀÇ ·¹Äڵ尡 ÀÖÀ¸¹Ç·Î ÀϹÝÀûÀÎ °æ¿ì´Â ½ºÆÄ½º À妽º°¡ À¯¸®ÇÏ´Ù. ÇÏÁö¸¸ ·¹ÄÚµåÀÇ ±æÀ̰¡ ÆäÀÌÁöÀÇ Å©±â¿Í ºñ½ÁÇÑ °æ¿ì¶ó¸é ½ºÆÄ½º À妽º´Â µ§½º ±¸Á¶º¸´Ù µð½ºÅ© ¾×¼¼½º¸¦ ¸¹ÀÌ ¼öÇàÇÏ°Ô µÇ¹Ç·Î ¼º´ÉÀÌ ¶³¾îÁø´Ù. ¹°·Ð ´Ã ±×·± °ÍÀº ¾Æ´Ï¸ç DBMS°¡ ¾î¶»°Ô ±¸¼ºµÇ¾ú´À³Ä¿¡ µû¶ó ´Ù¸¥ °á°ú°¡ ³ªÅ¸³¯ ¼öµµ ÀÖ´Ù. ¸¸¾à ÇØ´ç DBMS¿¡¼­ µ¥ÀÌÅÍ Çà üÀÎ(Row Chain)ÀÌ ¹ß»ýµÈ´Ù¸é ºÒ¸®ÇÒ ¼ö ÀÖÀ¸³ª üÀÎÀ» Áö¿øÇÏÁö ¾Ê°í, Çà ¸¶À̱׷¹À̼Ç(Row Migration)¸¸ Áö¿øÇÑ´Ù¸é Å« Â÷À̰¡ ¾ø´Ù. ¾î¶² DBMS´Â ÃÖ¼Ò ÀÔ/Ãâ·Â ´ÜÀ§¿¡ µ¥ÀÌÅ͸¦ ²Ë²Ë ä¿ï ¼ö ÀÖ´Â ¹Ý¸é, ¾î¶² DBMS´Â µ¥ÀÌÅ͸¦ ¸ðµÎ ä¿ï ¼ö ¾ø±â ¶§¹®¿¡ µÎ À妽º ¹æ½ÄÀÇ Àå/´ÜÁ¡ ºñ±³´Â Á¶°ÇÀÌ Àß ÁÖ¾îÁ®¾ß °¡´ÉÇÏ´Ù.

<±×¸² 9> ½ºÆÄ½º À妽º¿Í µ§½º À妽º

»ó¿ë DBMS´Â <Ç¥ 1>°ú °°ÀÌ ´Ù¾çÇÑ Á¾·ùÀÇ À妽º¸¦ Áö¿øÇÑ´Ù. ¿À¶óŬ¿¡¼­´Â À妽º Á¶Á÷ Å×À̺í(Indexed-Organized Table)ÀÌ Áö¿øµÇ´Âµ¥ ÀÌ´Â MS SQL ¼­¹öÀÇ Å¬·¯½ºÅ͵å À妽º¸¦ °¡Áø Å×À̺í°ú ºñ½ÁÇÑ ±¸Á¶·Î »ý°¢ÇÏ¸é µÇ¸ç ½ºÆÄ½º À妽º ¹æ½ÄÀ̶ó°í »ý°¢Çصµ ¹«¹æÇÏ´Ù.

<±×¸²10> Èü(Heap)¿¡¼­ÀÇ Æ®·£Àè¼Ç ÁýÁß

¶Ç ÇÑ °¡Áö Áß¿äÇÑ »ç½ÇÀº ½ºÆÄ½º À妽º¿Í µ§½º À妽º°¡ È¥ÀçµÇ¾î ÀÖÀ» °æ¿ì ³ª´©¾î ÀúÀåÇÏ´Â °ÍÀÌ È¿°úÀûÀ̶ó´Â Á¡ÀÌ´Ù.
µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ°ú ¶¼¾î³õÀ» ¼ö ¾ø´Â Áß¿äÇÑ »çÇ×ÀÌ ¹Ù·Î Æ®·£Àè¼ÇÀÌ´Ù. ÀÛÀº Æ®·£Àè¼Ç Çϳª°¡ Àá±ÝÀ» ¾òÀ¸¸é Àá±Ý ¼öÁØ¿¡ µû¶ó¼­ ¸¹Àº ¾çÀÇ Æ®·£Àè¼ÇÀÌ ´ë±âÇÒ ¼öµµ ÀÖ´Ù. Èü°ú °°Àº ±¸Á¶´Â µ¥ÀÌÅͰ¡ µé¾î¿À´Â ¼ø¼­´ë·Î ½×À̱⠶§¹®¿¡ ƯÁ¤ ÆäÀÌÁö(ÃÖ¼Ò ÀÔ/Ãâ·Â ´ÜÀ§) Àá±ÝÀÌ °É¸°´Ù¸é ÇØ´ç ÆäÀÌÁö¿¡ Á¢±ÙÇϰí ÀÖ´Â Æ®·£Àè¼ÇÀº ¸ðµÎ ´ë±â »óŰ¡ µÈ´Ù. ÀÌ·¯ÇÑ °æ¿ì ·¹ÄÚµå ´ÜÀ§ÀÇ Àá±ÝÀ» °É¸é ÇØ°áµÇÁö¸¸, ·¹ÄÚµåÀÇ ÀÔ·ÂÀÌ ³Ê¹« ºó¹øÇÏ°Ô ¹ß»ýÇÑ´Ù¸é °á±¹ º´¸ñÇö»óÀÌ ¹ß»ýÇÒ ¼ö¹Û¿¡ ¾ø´Ù. ±×·¯¹Ç·Î MS SQL Server¿Í °°Àº °æ¿ì¿¡´Â Å×ÀÌºí¿¡ Ŭ·¯½ºÅ͵å À妽º(Sparse Index)¸¦ »ý¼ºÇϱ⸦ ±ÇÇÑ´Ù.
ÇÏÁö¸¸ Ŭ·¯½ºÅ͵å À妽º´Â Ãß°¡(Insert), °»½Å(Update), »èÁ¦(Delete)ÇÒ ¶§¸¶´Ù µ¥ÀÌÅ͸¦ ÀçÁ¤·ÄÇØ¾ß Çϱ⠶§¹®¿¡ ºÎÇϰ¡ ¸¹ÀÌ °É¸°´Ù. ¹üÀ§ ¿¬»êÀ̳ª ÇÑ ¹ø¿¡ ¸¹Àº µ¥ÀÌÅ͸¦ °¡Á®¿Í¾ß ÇÏ´Â °æ¿ì¶ó¸é Ŭ·¯½ºÅ͵å À妽º¸¦ »ý¼ºÇØ¾ß ÇÑ´Ù. ÀϹÝÀûÀÎ OLTP½Ã½ºÅÛÀ̶ó¸é Ŭ·¯½ºÅ͵å À妽º´Â ±ÇÀå»çÇ×ÀÌ´Ù. ±×·¯³ª ƯÁ¤ Çà ´ÜÀ§ À§ÁÖ·Î Á¢±ÙÇÏ´Â °æ¿ì¶ó¸é Ŭ·¯½ºÅ͵å À妽º´Â »ç¿ëÇÏÁö ¾Ê´Â ÆíÀÌ ÁÁ´Ù. Á¶È¸ ¼º´ÉÀÌ Áß¿äÇÑ Å¬·¯½ºÅ͵å À妽º »ý¼ºÀº Àû±Ø °í·ÁÇØ¾ß ÇÒ ´ë»óÀÌ´Ù.
¸¸¾à ½Ã°£ÀÌ µÈ´Ù¸é ÁÖ·Î »ç¿ëÇÏ´Â À妽ºÀÇ ¼ø¼­¿¡ ¸ÂÃß¾î Å×À̺íÀÇ µ¥ÀÌÅ͸¦ ´Ù½Ã ³Ö¾îµÎ¸é ¼º´ÉÀ» ³ôÀ̴µ¥ µµ¿òÀÌ µÈ´Ù. ¶ÇÇÑ Ãß°¡, °»½Å, »èÁ¦ ½Ã À妽ºµµ °°ÀÌ º¯°æµÇ¾î¾ß ÇϹǷΠMS SQL Server´Â PAD_INDEX, FILLFACTOR ¿É¼ÇÀ» À妽º »ý¼º, º¯°æ ½Ã Á¦°øÇϰí ÀÖ´Ù. ÀÌ µÎ ¿É¼ÇÀº À妽ºÀÇ ÀúÀå °ø°£À» ºñ¿öµÎ¾î Ãß°¡ÀûÀÎ ÀÛ¾÷(Insert µî)¿¡ ´ëÇØ À妽ºÀÇ ÀçÁ¶Á¤À» ¸·´Â ¿ªÇÒÀ» ÇÑ´Ù.
 
 
Å×À̺íÀÇ ¼öÆò ºÐÇÒ/¼öÁ÷ ºÐÇÒ
 
Ä¿¹Â´ÏƼÀÇ Áú¹® °Ô½ÃÆÇ¿¡ °¡º¸¸é Å×À̺íÀÇ ºÐÇÒ¿¡ ´ëÇÑ Áú¹®ÀÌ ÀÚÁÖ ¿Ã¶ó¿À°ï ÇÑ´Ù. ¶ÇÇÑ µ¥ÀÌÅͰ¡ ´Ã¾î³²¿¡ µû¶ó ¼º´ÉÀÌ ´À·ÁÁ³´Ù°í ÆÇ´ÜÇÑ °ü¸®ÀÚµéÀÌ Å×À̺íÀÇ ºÐÇÒÀ» °í·ÁÇϱ⵵ ÇÑ´Ù. ½ÇÁ¦·Î ÀÌ·± ÀÌÀ¯ ¶§¹®¿¡ ¸¹Àº »çÀÌÆ®¿¡¼­ Å×À̺íÀ» ÀÌ¹Ì ºÐÇÒÇÏ¿© »ç¿ëÇϰí ÀÖ´Ù. ÇÏÁö¸¸, Å×À̺íÀ» ºÐÇÒÇØ¼­ »ç¿ëÇÏ´Â ÀÌÀ¯¿¡ ´ëÇØ ±¸Ã¼ÀûÀÎ ÆÇ´Ü ±Ù°Å¸¦ Á¦½ÃÇÏÁö ¸øÇÏ´Â °æ¿ì°¡ ´ëºÎºÐÀÌ´Ù. DBMS´Â ÃÑ ÇàÀÇ ¼ö°¡ ¹é°Ç Áß 1°ÇÀ» °¡Á®¿À´Â °ÍÀ̳ª õ¸¸ °Ç Áß 1°ÇÀ» °¡Á®¿À´Â °ÍÀ̳ª ºñ½ÁÇÑ ½Ã°£À» °¡Áöµµ·Ï ¼³°èµÈ´Ù. ÀÌ·¯ÇÑ ¼³°è´Â À§¿¡¼­ »ìÆìº» À妽º¿¡ ±â¹ÝÀ» µÎ°í ÀÖ´Ù. õ¸¸ °Ç Áß 1°ÇÀ̳ª ¹é°Ç Áß 1°ÇÀ̳ª ó¸®ÇÏ´Â ½Ã°£ÀÌ ºñ½ÁÇÏ´Ù¸é ¿Ö Å×ÀÌºí ºÐÇÒÀ» °í·ÁÇØ¾ß ÇÏ´Â °É±î? <±×¸² 11>À» º¸ÀÚ.

<±×¸²11> Ä÷³º°·Î ¼­·Î ´Ù¸¥ Æ®·£Àè¼Ç ó¸® ÇüÅÂ

Å×ÀÌºí¿¡¼­ ȸ¿øID, ÆÐ½º¿öµå, ȸ¿ø¸í, ÀüÈ­¹øÈ£¿¡ ´ëÇØ¼­ ÁýÁßÀûÀÎ ¹üÀ§ Á¶È¸°¡ ÀϾ°í, Á¢¼ÓÀϽô ÁýÁßÀûÀÎ °»½Å Æ®·£Àè¼ÇÀÌ ¹ß»ýÇÑ´Ù°í °¡Á¤ÇØ º¸ÀÚ. ¸¸¾à ȸ¿øID°¡ yasicomÀΠȸ¿øÀÇ Á¢¼ÓÀϽø¦ ¡®20060505¡¯·Î °»½ÅÇÑ´Ù¸é ÇØ´ç Çà¿¡ ´ëÇØ Àá±Ý(Lock)ÀÌ °É¸®°Ô µÈ´Ù. ±×·¯¸é yasicomÀ» Æ÷ÇÔÇÏ´Â ¹üÀ§Á¶È¸´Â Àá±ÝÀÌ Ç®¸± ¶§±îÁö ´ë±â¸¦ ÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ Àд µ¿¾ÈÀÇ Àϰü¼ºÀ» º¸ÀåÇØ¾ß ÇϹǷΠ°»½Å Æ®·£Àè¼Çµµ ´ë±âÇØ¾ß ÇÏ´Â »óȲÀÌ ¹ß»ýÇÒ ¼ö ÀÖ´Ù. ÀÌ·¯ÇÑ °æ¿ì¶ó¸é ¼º´É¿¡ ¸Å¿ì Å« ÁöÀåÀ» Áֱ⠶§¹®¿¡ ¼öÁ÷ºÐÇÒÀ» ÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. <±×¸² 12>´Â ¼öÁ÷ºÐÇÒÀÇ ¿¹ÀÌ´Ù.

<±×¸²12> ȸ¿ø Å×À̺íÀÇ ¼öÁ÷ºÐÇÒ
ÀϹÝÀûÀ¸·Î ¼öÆòºÐÇÒÀº µ¥ÀÌÅͰ¡ 1¾ï °ÇÀ» ³ÑÀ» °æ¿ì¿¡³ª °í·ÁÇØ º¼ ¸¸ ÇÏ´Ù. ¹°·Ð Ä÷³ÀÇ ¼ö°¡ ¸¹´Ù¸é ÇàÀÇ ¼ö°¡ ´õ Àû´õ¶óµµ ¼öÆò ºÐÇÒÀ» °í·ÁÇØ¾ß ÇÒ °ÍÀÌ´Ù. µ¥ÀÌÅͺ£À̽º°¡ ´ë¿ë·®À̶ó¸é °í·ÁÇØ¾ß ÇÒ »çÇ×µéÀÌ ¸Å¿ì ¸¹¾ÆÁø´Ù. ¿¹¸¦ µé¸é À妽º¸¦ ´Ù½Ã »ý¼ºÇϴµ¥ °É¸®´Â ½Ã°£ÀÌ ±æ¾îÁö°í º´·Äó¸® ¹× ¹é¾÷/º¹¿ø Àü·«µµ ´Þ¶óÁø´Ù. ¶Ç, Æ®·£Àè¼Ç¿¡ ´ëÇØ¼­µµ °í·ÁÇØ¾ß ÇÑ´Ù. MS SQL ServerÀÇ °æ¿ì Çà¿¡ 4,861°³ ÀÌ»óÀÇ Àá±ÝÀÌ °É¸®¸é Àá±ÝÀÇ ¼öÁØÀÌ ³ô¾ÆÁö°í, ´Ù¸¥ Æ®·£Àè¼ÇÀº ´ë±â(ºí·ÏÅ·)ÇÏ°Ô µÈ´Ù. ½ÇÁ¦·Î Àá±ÝÀº µ¥ÀÌÅÍÀÇ Àϰü¼ºÀ» º¸ÀåÇϱâ À§ÇØ ²À ÇÊ¿äÇÑ °ÍÀÌ´Ù. ´ë±âÇÏ´Â °Í ÀÚü°¡ ¹®Á¦´Â ¾Æ´ÏÁö¸¸ ±×·Î ÀÎÇØ ÀÛ¾÷ÀÌ Å¥(Queue)¿¡ ½×ÀÌ°Ô µÇ¾î, Àá±ÝÀÌ Ç®¸± ¶§ ÇÑ ¹ø¿¡ ¸¹Àº ¾çÀÇ ºÎÇϰ¡ °É¸®´Â ¿øÀÎÀÌ µÇ±âµµ ÇÑ´Ù.
¹®Á¦´Â °³¹ßÀÚµéÀÌ Å×À̺íÀÇ ºÐÇÒÀ» ³Ê¹« ½±°Ô »ý°¢ÇÑ´Ù´Â µ¥ ÀÖ´Ù. Å×À̺íÀ» ºÐÇÒÇϸé 󸮰úÁ¤ÀÌ º¹ÀâÇØÁö´Â °ÍÀº ´ç¿¬ÇÏ´Ù. ¶ÇÇÑ Áߺ¹µÈ µ¥ÀÌÅ͸¦ ¹ö·Á¾ß ÇÏ´ÂÁö Áߺ¹µÈ µ¥ÀÌÅ͸¦ °¡Áö°í ÀÖ¾î¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ °í·Áµµ ÇÊ¿äÇÏ´Ù. ºÐÇÒÀ» ÇÒ ¶§´Â ¹Ýµå½Ã Ÿ´çÇÑ ±Ù°Å¸¦ Á¦½ÃÇØ¾ß Çϸç, ´Ü¼øÈ÷ »¡¶óÁú °ÍÀ̶ó´Â ±â´ë¸¸À¸·Î ¼öÆòºÐÇÒÀ» ÇÏ°Ô µÇ¸é ¸¹Àº »ç¶÷ÀÌ °í»ýÇÏ°Ô µÇ¹Ç·Î ÃæºÐÈ÷ °í·Á¸¦ ÇÏ´Â °ÍÀÌ ÁÁ´Ù.
´ëºÎºÐÀÇ °æ¿ì µ¥ÀÌÅͺ£À̽º Æ©´×Àº °í±Þ±â¼úÀ» ÇÊ¿ä·Î ÇÏÁö´Â ¾Ê´Â´Ù. µ¥ÀÌÅͺ£À̽º ¹®Á¦ÀÇ ´ë·« 70% ÀÌ»óÀº ±âº»ÀûÀÎ »çÇ×À» ÁöŰÁö ¾Ê±â ¶§¹®¿¡ ¹ß»ýÇÑ´Ù. ¹«½¼ ¶æÀÎÁöµµ ¸ð¸£°í ±âº»ÀÌ ¹ÞÃÄÁÖÁö ¾Ê´Â »óȲ¿¡¼­ °æÇè¿¡ ÀÇÁ¸ÇÏ´Â °Íµµ ¹®Á¦´Ù. ¾î¶² ÁÖ¸Ô±¸±¸ÀÇ ¼±µÎÁÖÀÚ´Â »ç¿ëÀÚ È­¸é¸¶´Ù Å×À̺íÀ» »ý¼ºÇϱ⵵ ÇÑ´Ù. Å×ÀÌºí ¸íεµ ¡®¸ÅÀÔÀԷ¡¯°ú °°ÀÌ ÀüÇüÀûÀÎ ÇÁ·Î¼¼½º¿¡ ÀÇÁ¸ÀûÀÎ Å×À̺íÀ» ¸¸µé°í ÀÖ´Ù. Çö½ÇÀ» ¹Ý¿µÇϱâ´ÂÄ¿³ç ÀüÇô ±Ù°Åµµ ¾ø´Â ÀڽŸ¸ÀÇ ¼¼°è¸¦ ±¸ÃàÇϱ⵵ ÇÑ´Ù. ¿¹Àü¿¡ ÀÌ·¸°Ô Çß¾ú´Âµ¥µµ À߸¸ µ¹¾Æ°¡´õ¶ó´Â °ÍÀÌ ±× ÀÌÀ¯ÀÌ´Ù. ±×¸®°í´Â Çϵå¿þ¾î³ª DBMS¿¡ Çΰ踦 ¶°³Ñ±â´Â °ÍÀº ½±°Ô ¸¶ÁÖÇÒ ¼ö ÀÖ´Â ÀϵéÀÌ´Ù.
µ¥ÀÌÅͺ£À̽º¿¡¼­ ¾î¶² °áÁ¤À» ³»¸®±â À§Çؼ­´Â ¹Ýµå½Ã ÇÕ´çÇÑ ±Ù°Å¸¦ Á¦½ÃÇÏ¿© ¿Ã¹Ù¸¥ ¹æÇâÀ» ¼³Á¤ÇØ¾ß ÇÑ´Ù. ¾î¶°ÇÑ ½Ã½ºÅÛÀ̵çÁö ƯÁ¤ ÇÑ ºÎºÐÀÌ Àß ±¸¼ºµÇ°Å³ª Àß °³¹ßµÇ¾ú´Ù°í ÇÏ¿© ½Ã½ºÅÛÀÇ ¼º´ÉÀÌ Çâ»óµÇ´Â °ÍÀº ¾Æ´Ï´Ù. °³¹ß ÃʱâºÎÅÍ ¸íÈ®È÷ Á¤ÀÇÇϰí, °¢°¢ÀÇ ´Ü°è¸¦ Â÷°îÂ÷°î ¹â¾Æ³ª°¡¸ç, ¹°¸®ÀûÀÎ ±¸Çö¿¡¼­´Â ÁÖ¾îÁø ½Ã½ºÅÛÀÇ ÀÚ¿øÀ» ÃÖ¼ÒÇÑÀ¸·Î »ç¿ëÇÏ¿© ÃÖ´ëÇÑÀÇ ¼º´ÉÀ» ¹ßÈÖÇÒ ¼ö ÀÖµµ·Ï ³ë·ÂÇØ¾ß ÇÑ´Ù. µ¥ÀÌÅͺ£À̽ºÀÇ ¼³°è¿Í Æ©´×¿¡ À־´Â ¾î´À Çϳªµµ ¹«½ÃÇÒ ¼ö°¡ ¾ø´Ù. ¾Æ¹«¸® ¾ÖÇø®ÄÉÀÌ¼Ç Æ©´×ÀÌ Àß µÇ¾ú´Ù°í ÇØµµ Çϵå¿þ¾î°¡ ¹ÞÃÄÁÖÁö ¸øÇÏ¸é ¼º´ÉÀ» Á¦´ë·Î ¹ßÈÖÇÒ ¼ö ¾ø´Ù. Æ©´×¿¡ ´äÀº ¾ø´Ù. ¾î¶°ÇÑ °æ¿ìµçÁö »ó´ëÀûÀÌ´Ù.
»ç°í¹æ½ÄÀ» ¹Ù²Ù´Â °ÍÀº ¸Å¿ì Áß¿äÇÏ´Ù. ±×·¯¹Ç·Î ´ëºÎºÐÀÇ Æ©´×¼­ÀûÀº °è¸ù¼­ÀÇ ´À³¦ÀÌ µç´Ù. ´Ùµé ¿Ö ±×·¸°Ô ÀܼҸ®°¡ ¸¹ÀºÁö¸¦ ¾Ë¾Æ¾ß ÇÑ´Ù. ÇÊÀÚµµ Áß°£ Áß°£¿¡ ÀܼҸ®¸¦ ÇßÀ» °ÍÀÌ´Ù. ´«¿¡ °Å½½·È´Ù¸é ÇÊÀÚÀÇ ¼ø¼öÇÑ ¸¶À½¿¡¼­ ¿ì·¯³­ Á¶¾ðÀ̾ú´Ù°í »ý°¢ÇØÁֱ⠹ٶõ´Ù.
SQL ¹®À» Æ©´×ÇÏ´Â °æ¿ì ƯÁ¤ ºÎºÐ¸¸ »ì¦ ¹Ù²Ù¾î Á־ ¼º´ÉÀÌ ¿ùµîÈ÷ Çâ»óµÇ´Â °æ¿ì°¡ ¸¹ÀÌ Àִµ¥ ¿ø·¡ ±×·¸°Ô ÇØ¾ß ÇÒ °ÍÀ» °íÄ£ °ÍÀ̹ǷΠÁÁ¾ÆÇÒ ÇÊ¿ä´Â ¾ø´Ù. ÁÖ¾îÁø ½Ã½ºÅÛÀÇ ÀÚ¿øÀ» ÃÖ´ëÇÑ È°¿ëÇÏ°Ô ÇÏ´Â °ÍÀÌ Æ©´×ÀÇ ¸ñÀûÀÌ´Ù. ±Ã±ØÀûÀ¸·Î Ãß±¸ÇØ¾ß ÇÒ °ÍÀº ¿ì¸®°¡ °³¹ßÇÑ ½Ã½ºÅÛ¿¡ »ç¿ëÀÚ°¡ ºÒ¸¸À» °¡ÁöÁö ¾Êµµ·Ï ÇÏ´Â °ÍÀÌ ¸ñÀûÀÌ´Ù. ¿©±â¿¡ ³ª¿À´Â ³»¿ëµéÀº ¸ðµÎ »ç¿ëÀÚÀÇ Á¤º¸¿å±¸¸¦ ¸¸Á·½Ã۱â À§ÇÑ °ÍÀÏ »ÓÀÌ´Ù. »ç¿ëÀÚÀÇ Á¤º¸¿å±¸¸¦ ¸¸Á·½ÃŰ°í »ç¿ëÀڷκÎÅÍ Âü À¯¿ëÇÑ Á¤º¸°¡ ¸¹ÀÌ ³ª¿À´Â ½Ã½ºÅÛÀ̶õ ¼Ò¸®¸¦ µé¾úÀ» ¶§. ¹Ù·Î ±×¶§°¡ ¿ì¸®°¡ ±â»µÇØ¾ß ÇÒ ¼ø°£ÀÌ´Ù.
 
 
Âü°íÀÚ·á

1. ½Ç¹« ¿¹Á¦ Áß½ÉÀÇ °í±Þ SQL ¼­¹ö °³¹ßÀÚ °¡À̵壬 ÇǾ¿¡µàÄÉÀ̼ÇÄÚ¸®¾Æ£¬Ken Henderson
2. Microsoft SQL Server 2000 ¼º´ÉÆ©´× Technical Reference, Á¤º¸¹®È­»ç£¬Steve Adrien Deluca¿Ü 3. °­·ÂÇÑ SQL ÇÁ·Î±×·¡¹Ö À» À§ ÇѰÇnsiqht, Ken Henderson
4. ´ë¿ë·® µ¥ÀÌÅͺ£À̽º ¼Ö·ç¼Ç, ´ëû£¬ÀÌÈ­½Ä£¬Á¶±¤¿ø
5. µ¥ÀÌÅÍ ¾ÆÅ°ÅØÃ³, ´ëû£¬ÀÌÈ­½Ä
6. µ¥ÀÌÅÍ ¾ÆÅ°ÅØÃç, Çü¼³, ¹®¼Ûõ
7. µ¥ÀÌÅͺ£À̽º 󸮷У¬±³º¸£¬³ª¿¬¹¬¿Ü
8. µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ£¬ÀÎÅͺñÀü£¬±èÇüÁÖ
9. µ¥ÀÌÅͺ£À̽º ½Ã½ºÅÛ£¬Á¤Àͻ磬À̼®È£
10. µ¥ÀÌÅͺ£À̽º ¼³°è£¬È«¸ª°úÇÐÃâÆÇ»ç£¬Á¶±ÔÀÍ
11. µ¥ÀÌÅͺ£À̽º ¼³°è¿Í ±¸Ã࣬ÇѺû¹Ìµð¾î£¬ÀÌÃá½Ä
12. µ¥ÀÌŸº£À̽º ¼³°è£¬È«¸ª°úÇÐÃâÆÇ»ç£¬¹Ú¼®
13. Á¤º¸°øÇÐ 1, 2, ¿µÇÑÃâÆÇ»ç£¬Á¦ÀÓ½º¸¶Æ¾
14. µ¥ÀÌÅͺ£À̽º °ü¸®£¬¹Ú¹®°¢£¬¼­±æ¼ö
15. Database Tuning, ºê·¹ÀÎÄÚ¸®¾Æ, ÃÖ¿ë¶ô¿Ü
 
 
Ãâó¸í: ¸¶ÀÌÅ©·Î ¼ÒÇÁÆ®¿þ¾î -[2006³â 6¿ùÈ£]
DB | 2007-06-28 16:05:03
Hit : 301
.¹Ýµå½Ã ÄÄÆÄÀÏ Ç϶ó! 10-30% ¼Óµµ Çâ»ó !

  ¼Ò½º¸¦ °¡Áö°í ÄÄÆÄÀÏ Çϼ¼¿ä. MySQL ¸Þ´º¾ó¿¡ µû¸£¸é 10-30% ¼Óµµ°¡ ºü¸£´Ù°í ÇÕ´Ï´Ù.
  RPM À̳ª ¹ÙÀ̳ʸ® ¼³Ä¡¸¦ ÇÏÁö ¸¶¼¼¿ä !


1-2.ÃֽйöÀüÀ» »ç¿ëÇ϶ó

  ÃֽйöÀüÀÌ ÁÁÀº Á¡Àº ÀÚµ¿ Æ©´× ÇÏ´Â °Í ÀÔ´Ï´Ù.
  ¹ö±×¸¦ ¼öÁ¤ Çϱ¸¿ä. µÇµµ·Ï À̸é ÃֽйöÀüÀ» »ç¿ëÇϼ¼¿ä !!
  ÇöÀç 3.23.49 ÀÔ´Ï´Ù.


2. HEAP Å×À̺íÀÌ °¡Àå ºü¸£´Ù!

  ÀϹÝÀûÀ¸·Î °¡Àå ¸¹ÀÌ ¾²ÀÌ´Â Å×À̺í ŸÀÔÀº MyISAM ŸÀÔ ÀÔ´Ï´Ù.
  MyISAM ŸÀÔÀº ¹«ÀÚ°Ô ºü¸£¸ç, ´ë¿ë·®¿¡µµ °­ÇÕ´Ï´Ù. ±×·¯³ª Æ®·£Àè¼ÇÀº Áö¿øµÇÁö ¾Ê½À´Ï´Ù.
  À̳ëµðºñ(InnoDB) ´Â Æ®·£Àè¼ÇÀÌ Áö¿ø µË´Ï´Ù. ¼îÇθô¿¡¼­´Â ¹Ýµå½Ã »ç¿ëÇØ¾ß ÇÕ´Ï´Ù ^^

  HEAP Å×À̺í ŸÀÔÀº °¡Àå ºü¸£¸ç, ´ÜÁ¡Àº ¸Þ¸ð¸®¿¡ Àֱ⠶§¹®¿¡, MySQL¿¡ ÁßÁö µÉ °æ¿ì ¸ðµÎ ³¯¾Æ °©´Ï´Ù.
  °Ë»öÀ» Çϰí Àç°Ë»öÀ» ´Ù½Ã ÇÏ´Â °æ¿ì, Àӽà °Ë»ö Å×À̺íÀ» ¸¸µé¾î ³õ´Â °Íµµ ÁÁÀº ¹æ¹ýÀÔ´Ï´Ù.

  HEAP Å×ÀÌºí ¸Þ´º¾ó !
  
http://www.mysql.com/doc/H/E/HEAP.html

  HEAP Å×ÀÌºí ¸¸µé±â !
  mysql>CREATE TABLE email_addresses TYPE=HEAP (
     ->email char(55) NOT NULL,
     ->name char(30) NOT NULL,
     ->PRIMARY KEY(email) );


3.mysql ¼­¹ö top º¸±â

  mysql ¼­¹öÀÇ ¸Þ¸ð¸® »óȲÀ» º¸¿© ÁÖ´Â ÇÁ·Î±×·¥ ÀÔ´Ï´Ù.
  ¸®´ª½º³ª À¯´Ð½ºÀÇ top ±â´ÉÀ» mysql ¿¡¼­ °¡´ÉÇÏ°Ô ÇÑ°Í ÀÔ´Ï´Ù.

  top Á¤º¸´Â Æ©´×ÀÇ ±âº» À̱⠶«½Ã ÀÚÁÖ ÀÚÁÖ º¸¾Æ¾ß ÇÕ´Ï´Ù. ^^
  
http://public.yahoo.com/~jzawodn/mytop/

  PHP ¼Ò½º ÀÚ·á½Ç¿¡ ÆÄÀÏ ´Ù¿î ·Îµå ÇÏ½Ã¸é µË´Ï´Ù.


4.mysql_connect Vs mysql_pconnect

  ¼­¹ö ¸Þ¸ð¸®°¡ ÃÖ¼Ò 2G ÀÌ»óÀÏ °æ¿ì mysql_pconnect ¸¦ Ãßõ ÇÔ´Ù !
  ¿¬°áÀ» °è¼Ó ÇÏÁö ¾Ê±â ¶«½Ã ºü¸¨´Ï´Ù. !

  ±×·¯³ª ¸Þ¸ð¸®°¡ 2G ÀÌÇÏ ÀÏ °æ¿ì´Â mysql_connect »ç¿ëÇϼ¼¿ä !


5.int,smallint,tinyint µ¥ÀÌÅÍÇü !

  int ´Â ±²ÀåÈ÷ Å«¼ö ÀÔ´Ï´Ù. 4¹ÙÀÌÆ®¸¦ Â÷Áö Çϱ¸¿ä.
  tinyint ´Â ¸î¹é ±îÁö¸¸ µË´Ï´Ù. 1¹ÙÀÌÆ® ±¸¿ä.

  ¾µµ¥ ¾øÀÌ int ¸¦ »ç¿ëÇÏÁö ¸¶¼¼¿ë !!
  4¹ÙÀÌÆ®¿Í 1¹ÙÀÌÆ®´Â 4¹è Â÷ÀÌ ÀÔ´Ï´Ù.Á¶±×¸¸°Í 1°³ 1°³°¡ ¸ð¿© ¼­¹ö ºÎÇϸ¦ ÀÏÀ¸ ŵ´Ï´Ù.!!

  µ¥ÀÌÅÍ ·®ÀÌ ¾ó¸¶¸¸Å­ µé¾î°¡´ÂÁö üũ ÇÏ°í µ¥ÀÌÅÍÇüÀ» ¼±Åà Çϼ¼¿ä ^^
  ¸¸¾à ¾µµ¥¾ø´Â µ¥ÀÌÅÍ ÇüÀÌ´Ù ½ÍÀ¸¸é alter table ·Î µ¥ÀÌÅÍ ÇüÀ» ¹Ù²Ù¼¼¿ä !


6.À妽ºÀÇ »ç¿ë

  À妽º´Â ¹Ýµå½Ã ÇÊ¿äÇÑ °÷¿¡¸¸ ³ÖÀ¸¼¼¿ä !
  À妽º¸¦ ÁÙ °æ¿ì ÇÏµå ¿ë·®À» ´õ Â÷Áö Çϱ⠶§¹®¿¡ ¼Óµµ¸¦ ¶³¾î ¶ß¸± ¼ö ÀÖ½À´Ï´Ù.

  ¸ðµç Ä®·³¿¡ À妽º¸¦ ÁÖ´Â °ÍÀº Àý´ë Ãßõ ÇÏÁö ¾Ê½À´Ï´Ù.
  1°³ÀÇ Å×ÀÌºí¿¡ ÁÖŰ¿Ü¿¡ 2-3 °³ ÀÌ»óÀÇ À妽º´Â ÁÖÁö ¸¶¼¼¿ä!

  ÁÖŰ´Â ´ç±Ù À妽º ÀÔ´Ï´Ù. ^^

  CREATE TABLE albums (
     id     INTEGER    NOT NULL AUTO_INCREMENT PRIMARY KEY,
     title   VARCHAR(80)NOT NULL,
  
     INDEX title_idx (title)
  );

  ¢ÑAlter Table ·Î À妽º Ãß°¡
  ALTER TABLE albums ADD INDEX title_idx (title)  

  °áÇÕ À妽ºÀÇ °æ¿ì ³Ê¹« ¸¹Àº À妽º¸¦ »ç¿ëÇÒ °æ¿ì CPU ¿À¹öÇìµå³ª ÇÏµå ¿À¹öÇìµå¸¦ ºÒ·¯ ÀÏÀ¸ ŵ´Ï´Ù.
  Àû´çÈ÷ »ç¿ëÇϼ¼¿ä ^^

  
http://www.mysql.com/doc/I/n/Indexes.html
  
http://www.mysql.com/doc/M/u/Multiple-column_indexes.html
  
http://www.mysql.com/doc/O/R/ORDER_BY_optimisation.html


6-1. ¹Ùº¸ °°Àº À妽ºÀÇ »ç¿ë ?

  À妽º´Â %$search% °¡ ¸ÔÁö ¾Ê½À´Ï´Ù.
  ±×·±µð °Ô½ÃÆÇ Á¦¸ñ(Subject) ¿¡ À妽º °É¾î ³õ°í , °Ë»öÀ» %$search% ÀÌ·¸°Ô ÇÏ¸é µÉ±î¿ä?
  À妽º °Å³ª ¾È°Å³ª ¶È°°½À´Ï´Ù. !!

  $search% ÀÌ·¸°Ô »ç¿ëÇϼ¼¿ä. ±×·±µð.. $search% »ç¿ëÇϸé Á¦¸ñ óÀ½ ´Ü¾î ¹Û¿¡ °Ë»öÀÌ ¾ÈµË´Ï´Ù.
  ±×·¸´Ù¸é ? ´Ù¸¥ °Ë»ö ¹æ¹ýÀº ?


7.UDFÀÇ »ç¿ë

  MySQLÀº ½ºÅä¾îµå ÇÁ·Î½ÃÁ® °°Àº °³³äÀÌ Á¸Àç ÇÏÁö ¾Ê½À´Ï´Ù.
  ±×´ë½Å C ¾ð¾î·Î ¸¸µç ÇÔ¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

  Á¶±Ý´õ ºü¸¥ Äõ¸®¸¦ ¿øÇÑ´Ù¸é UDF ¸¦ »ç¿ëÇØº¸¼¼¿ä !

  UDF ÇÔ¼ö º¸±â
  
http://empyrean.lib.ndsu.nodak.edu/~nem/mysql/udf/

  
http://www.mysql.com/doc/A/d/Adding_functions.html

  ½ºÅä¾îµå ÇÁ·Î½ÃÁ®°¡ ¸Õµ­?
  ½ºÅä¾îµå ÇÁ·Î½ÃÁ®´Â ½±°Ô ¸»ÇØ MS-SQL ÇÔ¼ö ÀÔ´Ï´Ù.
  ¿À¶óŬ¿¡µµ ¾Æ¸¶ ÀÖÀ»°Ë´ç..^^

  ±×·¯´Ï±î °Ô½ÃÆÇ¿¡¼­ ³»¿ëÀ» ³Ñ±æ¶§³ª ºÒ·¯ ¿Ã¶§
  mysql Äõ¸®°¡ 3-4 ¹ø Á¤µµ ÀÌ·ç¾î Áý´Ï´Ù. ¶Ç´Â ms- sql Äõ¸®°¡ ÀÌ·ç¾îÁöÁÕ..
  3-4 ¹ø Á¤µµ Äõ¸®°¡ µÇ¸é..±×¸¸Å­ µðºñ Á¢¼ÓÀÌ Àæ¾Æ Áö±â ¶§¹®¿¡..
  ¼Óµµ°¡ ´À·Á Áý´Ï´Ù.

  ¸¹°Ô´Â 10¹ø Á¤µµÀÇ insert into ¿Í update °¡ ÀÌ·ç¾îÁý´Ï´Ù.

  ±×·¡¼­ ms - sql ÀÚü ³»¿¡ Àμ­Æ® ÇÔ¼ö ³ª ¸ñ·Ï º¸±â ÇÔ¼ö¸¦ ¸¸µé¾î ³õ½À´Ï´Ù.
  ±Û±¸ 1¹øÀÇ ms-sql Á¢¼Ó¸¸ ÇØ¼­ Àμ­Æ® ÇÔ¼ö¸¦ ºÒ·¯¼­ ó¸®ÇÏ´Â °ÍÀÔ´Ï´Ù.

  ±×·¸±â ¶§¹®¿¡ 2-3 ¹øÀÇ Äõ¸®°¡ Àý¾à µÇ¼­ ºü¸£´Ù´Â °ÍÀÌÁÕ..¤»¤»¤»
  ¶Ç´Â 10¹øÀÇ Äõ¸® ÇÒ°ÍÀ» MS-SQL ½ºÅä¾îµå ÇÁ·Î½ÃÁ®¸¦ 1¹ø¸¸ È£Ãâ ÇÔÀ¸·Î ÇØ¼­ µðºñ Á¢¼ÓÀÌ Àý¾àÀÌ µÇÁÕ..¤¼¤¼


  UDF ¸¦ ²À »ç¿ëÇØ¾ß Çϴ°¡?

  ¾ÈÇØµµ µË´Ï´Ù.¸¸... »ç¿ëÇϸé ÁÁÀºÁ¡ ¸¹½À´Ï´Ù. »õ·Î¿î ÇÔ¼ö¸¦ Ãß°¡ ÇÒ ¼ö ÀÖÀ¸¹Ç·Î ^^
  MS-SQLÀÇ ½ºÅä¾îµå ÇÁ·Î½ÃÁ® ±â´É ºñ½º¹Ç¸® ÇÏ°Ô »ç¿ëÇÒ ¼ö µµ ÀÖ±¸¿ä...

  UDF ³ª MS-SQL ½ºÅä¾îµå ÇÁ·Î½ÃÁ®ÀÇ »ç¿ë¹ýÀ» ÀÍÈ÷±â º¸´Ù´Â ij½³À» ¿¬±¸Çϼ¼¿ë ^^
  µ¿ÀûÀÎ PHP ¸¦ Á¤ÀûÀÎ HTML ·Î ¸¸µå´Â ¹æ¹ýÀ»¿ä...
  ¶Ç´Â UDF ¿¡¼­ MS-SQL ½ºÅä¾îµå ÇÁ·Î½ÃÁ® ó·³ »ç¿ëÀÌ °¡´É ÇÕ´Ï´Ù. ±× ºÎºÐÀ» ¿¬±¸Çϼ¼¿ä.

  www.zdnet.co.kr À̳ª www.zdnet.com °¡½Ã¸é ±â»ç ÆÄÀÏÀÌ 1000,29920,2892.html ÆÄÀÏ À̶õ°ÍÀ» º¸°Ô µË´Ï´Ù.
  ¾îŰ ±¸ÇöµÈ°ÍÀϱî¿ä? zdnet °Ô³× µéÀº °­Á¸¦ ¿ø·¡ ºÎÅÍ HTML ·Î ¸¸µé¾î¼­ ¿Ã¸®´Â °ÍÀϱî¿ë??
  HTML ·Î ¸¸µå´Â ºÎºÐµµ ¸¹ÀÌ »ý°¢ ÇØ¾ß ÇÕ´Ï´Ù. °­Á°¡ 1¸¸°³ ¶ó¸é, 1¸¸°³ÀÇ ÆÄÀÏÀÌ »ý¼º µË´Ï´Ù.
  zdnet ÀÇ °æ¿ì´Â Á¶È¸¼ö°¡ 10¸¸-20¸¸À» ³Ñ´Â ÃÊ´ëÇü »çÀÌÆ® À̱⠶§¹®¿¡ HTML ·Î ¸¸µå´Â °ÍÀÌ ÆÛÆ÷¸Õ½º°¡ ÁÁ½À´Ï´Ù.

  UDF ¹è¿ö µÎ¸é..³²ÁÖÁö ¾Ê½À´Ï´Ù.


8.Á¶Àκ¸´Ù´Â Äõ¸®¸¦ ³ª´©¾î¶ó!

  Á¶ÀÎ(Join)ÇÏ´Â °Íº¸´Ù Äõ¸®¸¦ 2°³·Î ³ª´©´Â °ÍÀÌ ¼Óµµ°¡ ºü¸¨´Ï´Ù.
  Á¶ÀÎÀ» »ý°¢ Çϱâ ÀÌÀü¿¡ Äõ¸®¸¦ ³ª´©´Â °ÍÀ» »ý°¢ Çϼ¼¿ä ^^

  ¾î¿ ¼ö ¾ø´Â °æ¿ì´Â ´ç±Ù Á¶ÀÎ ÇØ¾ßÁÒ.

  ±Û°í ¼­ºêÄõ¸®´Â ¾ÆÁ÷ Áö¿ø ¾ÈµË´Ï´Ù.
  Ms-SQLÀ̳ª ¿À¶óŬ¿¡¼­ ¼­ºêÄõ¸® º¸´Ù´Â ¼­ºêÄõ¸®¸¦ ÇÏÁö ¾Ê´Â ¹æÇâÀÇ µ¥ÀÌÅÍ Á¤±ÔÈ­¸¦ Çϼ¼¿ä ^^

  Á¶ÀÎ º¸´Ù ¼­ºêÄõ¸®°¡ ´À¸®´Ù.
  ¼­ºê Äõ¸® º¸´Ù´Â Á¶ÀÎÀ» »ç¿ëÇϼ¼¿ä ^^


9.full text index¿Í search

  3.23.23 ºÎÅÍ mysql ¿¡¼­´Â full text index ¸¦ Áö¿ø ÇÕ´Ï´Ù.  ÀÚ¼¼ÇÑ »çÇ×Àº ¾Æ·¡ !

  
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Fulltext_Search
  
http://www.mysql.com/doc/F/u/Fulltext_Fine-tuning.html


10. SELECT * FROM sometable

  SELECT * FROM sometable ¿¡¼­ * ¸ðµçÀ» »ç¿ëÇÏ´Â °ÍÀº ¹«½ÄÇÑ ¹æ¹ý ÀÔ´Ï´Ù.
  ¸ðµç Ä®·³À» ºÒ·¯¿À´Â °æ¿ì´Â µå¹°°Åµç¿ä.

  SELECT code,tadate,see FROM sometable

  »ç¿ëÇÒ °Í¸¸ ºÒ·¯ ¿À¼¼¿ä ^^


11.µ¥ÀÌÅͺ£À̽º Á¤±ÔÈ­

  Å×À̺íÀ» ¾Æ¹«·¸°Ô³ª ¸¸µé¸é ¾ÈµË´Ï´Ù.
  µ¥ÀÌÅͺ£À̽º Á¤±ÔÈ­ ¿øÄ¢¿¡ ÀǰÅ, Å×À̺íÀ» ³ª´­°ÍÀº ³ª´©°í ¸¸µå½Ã´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
  Á¦1 Á¤±ÔÈ­, Á¦2 Á¤±ÔÈ­ Á¤µµ´Â »ç¿ëÇÏ¼Å¾ß ÇÕ´Ï´Ù.

  °Ô½ÃÆÇÀ» ¸¸µé¶§ ¾ÆÁ÷µµ Å×À̺í 1°³¿¡ ¸¸µå½Ã³ª¿ä?
  ¿Â¶óÀÎ Æú ¸¸µé¶§ , Å×À̺í 1°³¿¡ ¸¸µå½Ã³ª¿ä?


12.REPLACE INTO¹® »ç¿ëÇϱâ

  REPLACE INTO albums VALUES (6, "tood.net")  
  insert ¹®´ë½Å¿¡ replace ¹®À» »ç¿ëÇØº¸¼¼¿ä.
  ¸Þ´º¾ó º¸½Ã°í ¿¬±¸Çϼ¼¿ä ^^

  ÁÖŰÀÏ °æ¿ì »ç¿ëÇÏ½Ã¸é µË´Ï´Ù.



13. explain »ç¿ëÇϱâ

  explain ¸¦ »ç¿ëÇÏ¿© Å×À̺íÀÇ Å° °ªÀÌ ¾ó¸¶³ª Àß È°¿ë µÇ´ÂÁö ¾Ë ¼ö ÀÖ½À´Ï´Ù.
  EXPLAIN SELECT, SHOW VARIABLES, SHOW STATUS, SHOW PROCESSLIST

  
http://www.mysql.com/doc/E/X/EXPLAIN.html


17.BLOB°ú TEXT´Â ºÐ¸®Ç϶ó

  BLOB°ú TEXT Ä®·³Àº Å×À̺íÀ» ºÐ¸® ÇÏ´Â °ÍÀÌ ÁÁ´Ù. ´Ù¸¥ Ä®·³ÀÇ ³»¿ë º¸´Ù Å©±â ¶§¹®ÀÌ´Ù !

  OPTIMIZE TABLE ¸í·ÉÀ» ÀÚÁÖ »ç¿ëÇØ¶ó !
  Not null ·Î ÁöÁ¤ ÇÏ´Â °ÍÀÌ ºü¸£´Ù.
  varchar º¸´Ù char ÀÌ Èκü¸£´Ù.


Âü°í: °Ô½ÃÆÇÀÇ Æ¯¼º  

  ÀÏ¹Ý °Ô½ÃÆÇµé º¸¼¼¿ä. ¿©±â Áú¹® °Ô½ÃÆÇ ¸¸ ºÁµµ ¾Ë ¼ö ÀÖ±¸¿ä.

  Àбâ(select) °¡ ¹«ÀÚ°Ô ¸¹½À´Ï´Ù. ¾²±â(insert into) º¸´Ù 30-40 ¹è Á¤µµ ¸¹ÁÒ.
  ÇÏ·íµ¿¾È ¿Ã¶ó¿Â ±ÛÀÌ 30 °³ ¶ó¸é, ÇÏ·íµ¿¾È ±ÛÀбâ Á¶È¸¼ö ÃÑ ÇÕÀº ÃÖ¼Ò 100 ¿¡¼­ 900 ±îÁö °©´Ï´Ù.
  ¹°·Ð ´õ ¾öû³¯ ¼ö ÀÖ±¸¿ä.

  ±×·¸±â ¶§¹®¿¡ °Ô½ÃÆÇ ¸ñ·Ï º¸±â¿Í ±ÛÀбâ´Â HTML ÆÄÀÏ·Î ¸¸µé¾î ³õ´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
  ¶Ç´Â MySQL ¿¡¼­ Æ©´× ½Ã¿¡ insert º¸´Ù´Â select °¡ »¡¸® µÇµµ·Ï Æ©´× ÇÏ´Â °ÍÀÌ ÁÁ±¸¿ä ^^


  [Âü°í»çÀÌÆ®]
  
http://www.mysql.com/documentation/mysql/bychapter/manual_Table_types.html#SEC457
  
http://www.mysql.com/documentation/mysql/bychapter/manual_Reference.html#Fulltext_Search 
PHP | 2007-06-27 12:15:18
Hit : 309
// Use option: OCI_DEFAULT for execute command to delay execution
OCIExecute($stmt, OCI_DEFAULT);

// for retrieve data use (after fetch):

$result = OCIResult($stmt, $n);
if (
is_object ($result)) $result = $result->load();

// For INSERT or UPDATE statement use:

$sql = "insert into table (field1, field2) values (field1 = 'value',
 field2 = empty_clob()) returning field2 into :field2"
;
OCIParse($conn, $sql);
$clob = OCINewDescriptor($conn, OCI_D_LOB);
OCIBindByName ($stmt, ":field2", &amp;$clob, -1, OCI_B_CLOB);
OCIExecute($stmt, OCI_DEFAULT);
$clob->save ("some text");
OCICommit($conn);
PHP | 2007-06-27 11:18:05
Hit : 301
"Ãʺ¸Å»Ãâ" OCIÇÔ¼öµéÀÇ À̾߱⠺¸µû¸®.


À̹ø °­Á´ ¾à¼Ó ÇßµíÀÌ oci8 ÇÔ¼ö¸¦ ¼Ò°³ÇØ µå¸®°Ú½À´Ï´Ù.
¿ì¼± ÇÔ¼ö¸¦ °£·«ÇÏ°Ô ¼Ò°³Çص帮°í ³ªÁß¿¡´Â ÀÌ ÇÔ¼öµéÀ» °¡Áö°í class·Î ±¸¼ºÇØ º¸°Ú½À´Ï´Ù.

1. string OCIServerVersion(int conn)
¿À¶óŬ µ¥ÀÌÅÍ ¼­¹öÀÇ ¹öÀüÁ¤º¸¸¦ Ãâ·ÂÇÕ´Ï´Ù.
oci8À» ¼³Á¤ÇßÀ» °æ¿ì, °¡Àå °£´ÜÇÑ Å×½ºÆ® ¹æ¹ýÀ¸·Î ¸¹ÀÌ ¾²ÀÔ´Ï´Ù.

$conn = OCILogon("scott", "tiger", "orcl");
echo "Server Version : " . OCIServerVersion($conn);
$OCILogOff($conn);
?>
result :
Server Version : Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production With the Partitioning, OLAP and Oracle Data Mining options JServer Release 9.2.0.1.0 - Production

À§¿Í°°ÀÌ ¿À¶óŬ ¼­¹öÁ¤º¸°¡ ³ª¿À¸é ¿À¶óŬ°ú PHP°¡ Àß ¿¬µ¿µÈ °Í ÀÔ´Ï´Ù.
¸ðµç Ã¥ÀÇ ±âº»ÀÎ "Hello World!"¸¦ Âï´Â Å×½ºÆ®¿ë ¼Ò½º¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.


2. int OCILogon(string username, string password, strin[ORACLE_SID])
int OCILogoff(int connection)

PHP¿¡¼­ ¿À¶óŬ¿¡ Á¢¼ÓÇϰí Á¢¼ÓÀ» ÇØÁ¦ÇÏ´Â ÇÔ¼öÀÔ´Ï´Ù.
ÀÌÀü¿¡µµ ¼³¸í ÇßµíÀÌ À̺κÐÀº °£´ÜÇÏ°Ô ÀÌÇØÇÏ½Ã¸é µË´Ï´Ù. »ç¿ëÀÚ°¡ ÀÎÅͳݿ¡ ¿¬°áÇÒ¶§ ¸Ó°¡ ÇÊ¿äÇÏ´Ù°í ÇßÁÒ.
"Ãʺ¸Å»Ãâ" °­Á PHP¿Í ¿À¶óŬ ¿¬µ¿ ºÎºÐÀ» ÀÐÀ¸½Å ºÐµéÀº ¾ÆÇÏ! ¶ó´Â ź¼ºÀÌ ³ª¿À½Ç °ÍÀÔ´Ï´Ù.
OCILogon() ÇÔ¼öÀÇ ¼¼¹øÂ° Àμö´Â »ý·«ÀÌ °¡´ÉÇϸç, À̸¦ »ý·«ÇÒ °æ¿ì¿¡´Â ORACLE_SID(Oracle instance) ¶Ç´Â TWO_TASK(tnsames.ora) ȯ°æº¯¼ö °ªÀ» ÀÌ¿ëÇØ¼­ ¾î¶² DB¿¡ ¿¬°áÇÒÁö¸¦ °áÁ¤ÇÕ´Ï´Ù.
¸®ÅϰªÀ¸·Î´Â ´Ù¸¥ OCIÇÔ¼ö¸¦ È£ÃâÇÒ¶§ ÇÊ¿äÇÑ connection °ªÀ» ¹Ýȯ ÇÕ´Ï´Ù.
±×·³ ´ç¿¬È÷ OCILogoff()ÇÔ¼öÀº ¹«¾ùÀ̰ڽÀ´Ï±î?
¸Â½À´Ï´Ù. OCILogon()ÀÇ ¸®ÅϰªÀ» Àμö·Î ¹Þ¾Æ ¿À¶óŬ Á¢¼ÓÀ» ÇØÁöÇÏ´Â °Í ÀÔ´Ï´Ù.

3. intOCiParse(int conn, strint query)
"Parse" - <¹®ÀåÀ»> ÇØºÎ[ºÐ¼®]ÇÏ´Ù. ÀÌÁÒ.
±×·³ ¼³¸í ÇÒ ÇÊ¿ä ¾ø°ÚÁÒ.
±×·¡µµ ÀÚ¼¼È÷. ù¹øÂ° Àμö·Î OCILogonÀÇ ¸®ÅÏ °ªÀ» ¹Þ½À´Ï´Ù. µÎ¹øÂ° Àμö·Î´Â À¯È¿ÇÑ ¿À¶óŬ SQL ±¸¹®ÀÌ ¿É´Ï´Ù.
¹«¾ùÀ» ºÐ¼®ÇÏ·Á°í ÇÒ±î¿ä? ¸Â½À´Ï´Ù. ¹Ù·Î SQL Äõ¸®¹®ÀÔ´Ï´Ù. ÇѸ¶µð·Î À¯È¿¼º °Ë»ç¶ó°í »ý°¢ÇÏ½Ã¸é µË´Ï´Ù.
À̸¦ ¿ì¸®´Â statement ¶ó°íµé ÇÕ´Ï´Ù. ¸í»ç·Î Ç®ÀÌÇϸé "¼º¸í¼­"¶ó°í ÇÏÁÒ. "¼º¸í¼­"¶õ ¸¸ÀÎÇÑÅ× ÀÎÁõµÈ »ç½ÇÀÌÁÒ.
±×·³ ¸®ÅϰªÀº ¹«¾ùÀϱî¿ä. ´ç±Ù.... Âü°ú °ÅÁþ. true³ª false ÀÔ´Ï´Ù. ¾Ë°í³ª´Ï ½±ÁÒ. º°°Í ¾Æ´Õ´Ï´Ù.
¾Ë¼ö·Ï Àç¹ÌÀÖÁÒ. ±×·³ ±â¿îÀ» ³»¼­ ...

4. int OCIExecute(int statement, int [mode])
"execute" ´Ù ¾Æ½Ã´Â ´Ü¾î. ¶Ç ³ª¿Ô½À´Ï´Ù. "<Çൿ µîÀ»> ÇàÇÏ´Ù, ½Ç½Ã[½ÇÇà]ÇÏ´Ù " ÀÔ´Ï´Ù. ±×·³ ¸ÓÇÏ´Â ÇÔ¼öÀϱî¿ä?
½±½À´Ï´Ù.^^ ¹Ù·Î ¸Õ°¡¸¦ ½ÇÇàÇÏ´Â ÇÔ¼ö ÀÔ´Ï´Ù. ¹«¾ùÀ»? ù¹øÂ° Àμö°¡ statement ±º¿ä. "¼º¸í¼­" ±â¾ï³ª½ÃÁÒ.
Áï, SQL¹®ÀÌ true ÀΰÍÀ» ½ÇÇàÇÏ´Â °Í ÀÔ´Ï´Ù. ÀÌÇØ ÆÅÆÅ ¿ÀÁÒ.
±×·³ µÎ¹øÂ° Àμö´Â ¸Ö±î¿ä? mode ³»¿ä. µÎ¹øÂ° Àμö´Â »ý·«ÇÒ ¼ö ÀÖ½À´Ï´Ù. »ý·«À» Çϸé OCI_COMMIT_ON_SUCCESS °¡ µé¾î°¡ÁÒ.
ÀÌ´Â SQL¹®À» ½ÇÇàÇÏ°í ¹Ù·Î commit À» Çϵµ·Ï ÇÏ´Â °ÍÀÔ´Ï´Ù.
¶Ç´Ù¸¥ mode ·Î´Â OCI_DEFAULT ¸¦ ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·³ ÀÌ ¿É¼ÇÀº ¹«¾ùÀϱî¿ä. commitÀ» ¹Ù·Î ÇÏÁö ¾Ê°í Á» »ý°¢ÇÒ ¿©À¯¸¦ Á༭ ¾Æ´Ï´Ù ½ÍÀ¸¸é rollbackÀ» ÇÒ¼ö ÀÖ°Ô ÇØÁÖ´Â ¿É¼ÇÀÔ´Ï´Ù.
OCI_DEFAULT´Â Å×À̺íÀ» º¯°æÇÏ´Â ÀÛ¾÷(CREATE, UPDATE, DELETE)¿¡¼­ ¸¹ÀÌ »ç¿ëÇÏÁÒ. ¿©±â¼­ ¼³¸íÇÑ ºÎºÐ »ó´çÈ÷ Áß¿äÇÕ´Ï´Ù.
commit°ú rollbackÀº "Æ®·£Á§¼Ç"¿¡ °üÇÑ °ÍÀ¸·Î DB °ü·Ã ¿ë¾îÀÔ´Ï´Ù. Áß¿äÇÑ ´Ü¾î ¾Æ½Ã°ÚÁÒ. ¹Ù·Î "Æ®·£Á§¼Ç" ÀÔ´Ï´Ù.
"Æ®·£Á§¼Ç"Àº ³Ê¹«³Ê¹« Áß¿äÇÔÀ¸·Î ´ÙÀ½ °­ÀÇ¿¡¼­ ¼³¸íµå¸®°Ú½À´Ï´Ù.

5. int OCIFreeStatement(int stmt)

FreeStatement°¡ ¹«¾ùÀ» ÀǹÌÇÒ±î¿ä. Free "(¼Ó¹ÚÀÌ ¾øÀÌ) ÀÚÀ¯·Î¿î" Statement´Â ¸Ó¿´ÁÒ? "¼º¸í¼­".
Áï, ÀÌÁ¨ ´õÀÌ»ó Äõ¸®¹®À» »ç¿ëÇÏÁö ¾Ê´Â´Ù´Â °ÍÀÔ´Ï´Ù. ±×·³, À̸¦ ¿À¶óŬÀÌ ¾Ë±â À§Çؼ­´Â µ¿Àǰ¡ ÇÊ¿äÇϰÚÁÒ.
±×·¡¼­ ¸®ÅÏ °ªÀÌ true, false ¸¦ °¡Áý´Ï´Ù.

±×·³ Áö±Ý±îÁö °­ÀǸ¦ °£´ÜÇÑ ¼Ò½º¿Í ÇÔ²² °£´ÜÈ÷ ±Û·Î Ç®¾îº¸°Ú½À´Ï´Ù.^^

/**
* ¿À¶óŬ Á¢¼Ó id: scott °ú pwd: tiger À» ÀÌ¿ëÇØ¼­ tnsnames¿¡ ÀÖ´Â ÁÖ¼Ò orcl¿¡ µé¾î°¬½À´Ï´Ù.
* ¸®Åϰª true¸¦ ¹Þ¾Æ »ç¿ë°¡´ÉÇÏ°Ô µÇ¾ú½À´Ï´Ù.
*/
$conn = OCILogon("scott", "tiger", "orcl");

/**
* ¿À¶óŬÀ» »ç¿ëÇØµµ µÈ´Ù°í ÇØ¼­ ÀÚ½ÅÀÇ À̸§ÀÇ ÀÌ´Ï¼È·ÎµÈ Å×À̺íÀ» ¸¸µé·Á°í Äõ¸®¹®À» º¸³Â½À´Ï´Ù.
* ¿À¶óŬÀº Äõ¸®¹®À» º¸°í À¯È¿¼º °Ë»ç¸¦ ÇÏ¿© "¼º¸í¼­"¸¦ ¹ßÇ¥ÇÕ´Ï´Ù.
*/
$query = "create table jmc(name varchar2(10))";
$stmt = OCIparse($conn, $query);

/**
* ¿À¶óŬÀº scott À̶ó´Â »ç¿ëÀÚ°¡ ÁØ Äõ¸®¸¦ ½ÇÇàÇÕ´Ï´Ù.
* jmc ¶ó´Â Å×À̺íÀÌ name À̶ó´Â Ä®·³À» °¡Áö°í »ý¼ºµÇ¾ú½À´Ï´Ù.
* ¿À¶óŬÀº »ý¼ºÇß´Ù°í ¾Ë¸®±â À§Çؼ­ true ¸¦ ¸®ÅÏÇß½À´Ï´Ù.
* ±×·¡¼­ if¹®¸¸³ª echo °ªÀÌ ÂïÈü´Ï´Ù.
*/
if(OCIexecute($stmt))
{
echo "jmc ¶ó´Â Å×À̺íÀÌ »ý¼ºµÇ¾ú½À´Ï´Ù.";
}

/**
* ÀÌÁ¨ ´õÀÌ»ó ÇÊ¿ä¾ø´Â "¼º¸í¼­"¸¦ °ÅµÎ¾î µå¸³´Ï´Ù.
*/
OCIFreeStatement($stmt);

/**
* scott À̶ó´Â »ç¿ëÀÚ°¡ ¿À¶óŬ¿¡¼­ ³ª°©´Ï´Ù. ³ª°¥¶§´Â ´ç¿¬È÷ ·Î±×¾Æ¿ôÇÏ°í ³ª°¡ÁÒ^^
*/
OCILogoff($conn);

?>

ÀÌ ¿¹Á¦ÀÇ À̾߱⸦ º¸¼ÌÁÒ. µÎ¹ø ½ÇÇàÇÏ¸é ´ç¿¬È÷ error ³³´Ï´Ù. ¿Ö Àϱî¿ä?
°°Àº À̸§ÀÇ jmc¶ó´Â Å×À̺íÀ» ¶Ç »ý¼ºÇÏ·Á°í Çϴϱñ ±×·¸°ÚÁÒ^^
±×·³ ÀÌ À̾߱⸦ ¸Ó¸®¼Ó¿¡ Á¤¸®ÇϽø鼭 »ý¼ºµÈ jmc Å×À̺íÀ» drop ÇØº¸¼¼¿ä.

±×·³ ´ÙÀ½ °­Á¿¡´Â ¿À¶óŬ¿¡¼­ select ·Î µ¥ÀÌÅ͸¦ ¹è¿­·Î ¹Þ¾Æ¼­ È­¸é¿¡ »Ñ·Áº¸°Ú½À´Ï´Ù.
¾ÆÂ÷~ ´ÙÀ½¹ø °­ÀÇ´Â Æ®·£Á§¼ÇÀÌÁÒ^^

¿À¶óŬ À̾߱⸦ ´Ù¸¥»ç¶÷ÇÑÅ× ÇØÁÙ ¼ö ÀÖ´Â ´ç½ÅÀº Àý´ë "Ãʺ¸"°¡ ¾Æ´Õ´Ï´Ù
¿ë¾îµé | 2007-06-27 10:19:50
Hit : 262

 

À©µµ¿ì ´ÜÃàŰ ¸ðÀ½ 
 

 

1. À©µµ¿ì +  ?  

 

À©µµ¿ìŰ : ½ÃÀÛ¸Þ´º ºÎ¸£±â(Ctrl + Esc )
À©µµ¿ìŰ + D : ¹ÙÅÁÈ­¸éº¸±â 
À©µµ¿ìŰ + M : ¹ÙÅÁÈ­¸éº¸±â2 
À©µµ¿ìŰ + E : À©µµ¿ìŽ»ö±â¿­±â
À©µµ¿ìŰ + F : °Ë»öâ 

À©µµ¿ìŰ + Ctrl + F : °Ë»öâ 
À©µµ¿ìŰ + R : ½ÇÇàâ 
À©µµ¿ìŰ + Tab (+ Enter) : ÇÁ·Î±×·¥ À̵¿
À©µµ¿ìŰ + F1 : À©µµ¿ì µµ¿ò¸»
À©µµ¿ìŰ + Pause/Break : ½Ã½ºÅÛ µî·ÏÁ¤º¸

 

 

2. Alt + ?

 

Alt + ¹æÇâŰ : ÆäÀÌÁö À̵¿

Alt + Space Bar : ½Ã½ºÅÛ ¸Þ´º È£Ãâ
Alt + Enter : µî·ÏÁ¤º¸ º¸±â
Alt + F4 : ÇÁ·Î±×·¥ Á¾·á 
Alt + Tab : ÆäÀÌÁö À̵¿ 

Alt + Esc : ÆäÀÌÁö À̵¿

 

3. Ctrl + ?

 

Ctrl + Esc : ½ÃÀÛ¸Þ´º ºÎ¸£±â 
Ctrl + F4 : MDI ÇÁ·Î±×·¥ ¹®¼­´Ý±â 

Ctrl + Alt + Delete : ÇÁ·Î±×·¥ °­Á¦ Á¾·á 
Ctrl + W : ÇöÀç⠴ݱâ 
Ctrl + A : ¸ðµÎ¼±ÅÃ
Ctrl + C : º¹»çÇϱâ
Ctrl + X : Àß¶ó³»±â
Ctrl + V : ºÙ¿©³Ö±â

 

 

4. Shift + ?

 

Shift + Delete : ÈÞÁöÅëÀ» °ÅÄ¡Áö ¾Ê°í ¹Ù·Î »èÁ¦
Shift + CD ³Ö±â : CD ÀÚµ¿ ½ÇÇà ¾Ê±â
Shift + ¹æÇâŰ : ºí·Ï ÁöÁ¤Çϱâ
Shift + Æú´õ¿­±â : ÀÏ¹ÝÆú´õ  Ž»ö±âó·³ ¿­±â
Shift + F10 : ¹Ù·Î°¡±â ¸Þ´º

 

 

5. ¸¶¿ì½º¿Í ´ÜÃàŰ

 

Ctrl + Ŭ¸¯ : ¶³¾îÁ®ÀÖ´Â º¹¼ö °³Ã¼ ¼±ÅÃ
Shift + µÎ±ºµ¥ ÆÄÀÏÀ» ÁöÁ¤ : ¿¬°áµÈ º¹¼ö°³Ã¼ ¼±ÅÃ
Ctrl + µå·¡±× : º¹»çÇϱâ
Shift + µå·¡±× : À̵¿Çϱâ
Ctrl + Shift + µå·¡±× : ¹Ù·Î°¡±â ¾ÆÀÌÄÜ ¸¸µé±â
Shift + X Ç¥½Ã Ŭ¸¯ : ÇöÀç Æú´õ¿Í »óÀ§ Æú´õ ´Ý±â

 

 

6. Space Bar '´ÜÃàŰ ±â´É'

 

 °¡. ÀÎÅÍ³Ý ÆäÀÌÁö¿¡¼­ ¸¶¿ì½º³ª ¹æÇâ۸¦ ¾µ ÇÊ¿ä¾øÀÌ ½ºÆäÀ̽º¹Ù¸¦  

      Ä¡¸é ÇöÀç È­¸é¿¡¼­ ¾Æ·¡ È­¸éÀ¸·Î ³»·Á°©´Ï´Ù.
 ³ª. À̸ÞÀÏÀ» Àдٰ¡ ÇöÀç â¿¡¼­ ÀбⰡ ³¡³µÀ» ¶§´Â ½ºÆäÀ̽º¹Ù¸¦

      Ä¡¸é ¾Æ·¡·Î ³»·Á°©´Ï´Ù.
 ´Ù. ¸ÞÀÏ ÀбⰡ ³¡³µÀ» ¶§ ½ºÆäÀ̽º¹Ù¸¦ Ä¡¸é ´ÙÀ½ ¸ÞÀÏ·Î ³Ñ¾î°©´Ï 

      ´Ù.

 

7. Alt + Esc

 

À©µµ¿ìÀÇ ¸ÖƼŽºÅ· ±â´ÉÀ¸·Î ¿©·¯ ÇÁ·Î±×·¥ ¶ç¿ö ³õ°í ÀÖÀ» ¶§, ÀÛ¾÷ÀüȯÀº º¸Åë ¸¶¿ì½º·Î Çϰųª, ´ÜÃàŰ `Alt + Tab' À¸·Î ¸¹ÀÌ ÇÕ´Ï´Ù. ÇÏÁö¸¸ ¸¶¿ì½º·Î ÇÏ¸é ½Ã°£ÀÌ °É¸®°í, 'Alt + Tab'Àº ¿©·¯ ÇÁ·Î±×·¥µéÀ» °ñ¶ó¼­ ÆäÀÌÁö¸¦ ¿­¾î Çò°¥¸®Áö¸¸,  Alt + Esc´Â ´Ù¸¨´Ï´Ù.
ÀÛ¾÷âÀ» ¿©·¯°³ ¶ç¿î »óÅ¿¡¼­.. Alt¿Í Esc ¸¦ µ¿½Ã¿¡ ´©¸¥ ÈÄ Alt Ű´Â ±×´ë·Î ´©¸¥Ã¤ µÎ°í Esc ¸¸ ´­·¶´Ù ¶¼¸é È­¸é¿¡ ÇöÀç Ȱ¼ºÈ­µÈ ÇÁ·Î±×·¥À»  Çϳª¾¿ º¸¿©ÁÝ´Ï´Ù. ±âÁ¸¿¡ ¾²½Ã´ø 'Alt + Tab'Àº  ¹Ù²Ü ÀÛ¾÷âÀ¸·Î ºí·ÏÀ» ÁöÁ¤ÇÏ¿© ¾²¼Ì´Ù¸é, Alt + EscÀº ¸î¹øÂ° âÀÌ ³»°¡ ¿øÇϴ âÀÎÁö ¹Ù·Î ¾Ë ¼ö Àֱ⠶§¹®¿¡ ÇÁ·Î±×·¥À» ¸¹ÀÌ »ç¿ëÇÒ ¶§´Â Alt + Esc°¡

´õ À¯¿ëÇÑ °Í °°½À´Ï´Ù.

 

8. Esc (½ÃÀÛÈ­¸é ¾øÀÌ ¹Ù·Î À©µµ¿ì ¶ç¿ì±â)

 

ÄÄÇ»Å͸¦ ºÎÆÃÇÒ ¶§ À©µµ¿ì ·Î°í, Áï ½ÃÀÛÈ­¸éÀ» ¶ç¿ì´Â ½Ã°£ÀÌ Áö°Ü¿î ºÐµéÀº À©µµ¿ì ºÎÆÃÇÒ ¶§ `Esc' ¸¦ ´©¸£¼¼¿ä.
½ÃÀÛÈ­¸éÀ» ¾Æ¿¹ ¾ø¾Ö·Á¸é À©µµ¿ì 98 »ç¿ëÀÚÀÇ °æ¿ì ·çÅÍÆú´õ¿¡ ÀÖ´Â `msdos.sys' ¶ó´Â ÆÄÀÏÀ» ¸Þ¸ðÀå¿¡¼­ ¿­°í `Options' Ç׸ñÀ» ã¾Æ logo °ªÀ» 0 À¸·Î ¹Ù²ãÁÖ¸é µË´Ï´Ù. ÀÌ ÆÄÀÏÀº ÀбâÀü¿ëÀ̹ǷΠÆíÁýÀ» ÇÏ·Á¸é ¼Ó¼ºÀ» ¹Ù²ãÁà¾ß ÇÕ´Ï´Ù. ÇÏÁö¸¸ ½Ã½ºÅÛ ¿î¿µ¿¡ ÇÊ¿äÇÑ ÆÄÀÏÀÎ ¸¸Å­ Ãʺ¸ÀÚµéÀº °¡±ÞÀû °Çµå¸®Áö ¾Ê´Â °ÍÀÌ ÁÁ½À´Ï´Ù.
½Ã½ºÅÛÀ» ´Ù½Ã ÄÑ¾ß ÇÏ´Â °æ¿ì ÄÄÇ»ÅÍ Àüü¸¦ ÀçºÎÆÃÇϱ⺸´Ù´Â À©µµ¿ì¸¸ ´Ù½Ã ½ÃÀÛÇÏ°Ô ÇÏ´Â °ÍÀÌ ±â´Ù¸®´Â ½Ã°£À» ¸¹ÀÌ ÁÙÀÏ ¼ö ÀÖ½À´Ï´Ù. À©µµ¿ì Àç½ÃÀÛÀ» ½ÃŰ·Á¸é À©µµ¿ì ½ÃÀÛ ¸Þ´º¿¡¼­ Á¾·á ¹öưÀ» ´©¸¦ ¶§ `½Ã½ºÅÛ ´Ù½Ã ½ÃÀÛ' ¸Þ´º¸¦ ¼±ÅÃÇϸ鼭 ½ÃÇÁÆ® (Shift) ۸¦ ´©¸£°í ÀÖÀ¸¸é µË´Ï´Ù. ±×·¯¸é ÄÄÇ»ÅÍ´Â À©µµ¿ì Àç½ÃÀÛ¸¸ Çϱ⠶§¹®¿¡, ½Ã½ºÅÛ Àç½ÃÀÛÀ» ÇÒ ¶§ ÄÄÇ»ÅͰ¡ ÀÚ±âÁø´ÜÀ» Çϸ鼭 °É¸®´Â ½Ã°£À» ´ÜÃà½Ãų ¼ö ÀÖ½À´Ï´Ù.

DB | 2007-06-27 10:04:42
Hit : 115

¿øº»: http://www.cena.co.kr/zboard/zboard.php?id=tip&no=75

MySQL Replication °³¿ä

MySQL Replication °³¿ä

- ÇØ´ç ±ÛÀº MySQL 4.0.x ¹öÀü¿¡¼­ Å×½ºÆ®ÈÄ ÀÛ¼ºµÈ ±ÛÀ̸ç
°ø½ÄÀûÀ¸·Î Replication±â´ÉÀº 3.23 ÀÌ»óÀÇ ¹öÀüºÎÅÍ Áö¿øµÇ´Â°ÍÀ¸·Î ¾Ë°í ÀÖ½À´Ï´Ù.
- ºü¸¥ ±Û ¼³¸íÀ» À§ÇØ ´ëºÎºÐÀÇ Á¸ÄªÀº »ý·«ÇÕ´Ï´Ù.


1. Replication ÀÇ °³¿ä & Çʿ伺

³ª´Â ȸ»ç ¼­¹ö¿¡¼­ ½ÇÁ¦·Î »ç¿ëÇØº» µ¥ÀÌÅͺ£À̽º´Â MySQL°ú MSSQLÁ¤µµ·Î¸¸ ¾ÐÃàµÇ¸ç,
ÇöÀç ȸ»ç ¼­ºñ½ºÀÇ ¸ÞÀε¥ÀÌÅͺ£À̽º´Â ¸ðµÎ MySQL·Î ÀÌ·ç¾îÁ®ÀÖ´Ù.

Á» Áö³­À̾߱âÀÌÁö¸¸ µ¥ÀÌÅͺ£À̽º°¡ ¾ûÄÑ(?)¼­ MySQL³»ÀÇ Æ¯Á¤ Å×À̺íÀÌ ¸»¼ÒµÇ¾î¹ö¸°ÀûÀÌ ÀÖ´Ù.
ȤÀº phpMyAdmin°°Àº À¥ µ¥ÀÌÅͺ£À̽º °ü¸® ÇÁ·Î±×·¥À̳ª MySQL-Front°°Àº ¾îÇø®ÄÉÀÌ¼Ç °ü¸®µµ±¸µîÀ» »ç¿ëÇÑ´Ù¸é
¹öưÇϳª, ¸µÅ©ÇϳªÀ߸ø Ŭ¸¯Çؼ­ µ¥ÀÌÅͺ£À̽º°¡ Åë°·Î ³¯¶ó°¥¼ö°¡ ÀÖ´Ù.

±×·±µ¥ ÀÏ¹Ý pc¿¡¼­ ÇϵåÆ÷¸ËÀ̳ª µ¥ÀÌÅÍ »èÁ¦½Ã
µµ½º½ÃÀý unformatÀ̳ª undelete, finaldata µîµîÀÇ ¿©·¯°¡Áö ¹æ¹ýÀ¸·Î º¹±¸¸¦ Çß´ø¹Ý¸é
µ¥ÀÌÅͺ£À̽º´Â Çѹø ³¯¶ó°¡¸é ³¡ÀÌ´Ù.

µ¥ÀÌÅͺ£À̽ºÀÇ º¸Á¸¹æ¹ýÀº Å©°Ô Dump¸¦ ÀÌ¿ëÇÑ ¹æ½Ä°ú ReplicationÀ» ÀÌ¿ëÇÏ´Â ¹æ½ÄÀÌ Àִµ¥
µÎ°¡ÁöÀÇ ºÐ¸íÇÑ Àå´ÜÁ¡ÀÌ Á¸ÀçÇÑ´Ù!

¤¡. Dump¸¦ ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ¹é¾÷ÀÇ Àå´ÜÁ¡
- ¹®Á¦°¡ »ý°åÀ»¶§ ƯÁ¤ ½ÃÁ¡À¸·ÎÀÇ º¹¿øÀÌ °¡´ÉÇÏ´Ù(´ýÇÁ ¹Þ¾Æ³õÀº ³¯Â¥ÀÇ µ¥ÀÌÅͺ£À̽º·Î µ¹·Á³õÀ»¼ö ÀÖ´Ù.
- Çѹø ´ýÇÁ¸¦ ¹ÞÀ»¶§ µ¥ÀÌÅͰ¡ ¸¹À»¼ö·Ï ´ýÇÁ ½Ã°£Àº ±âÇϱ޼öÀûÀ¸·Î ´Ã¾î³­´Ù.
- Çѹø ´ýÇÁ¸¦ ¹Þ¾Æ³õÀº°ÍµéÀÌ ´©ÀûµÇ¸é ¿ë·®ÀÌ Àå³­¾Æ´Ï°Ô ºÒ¾î³­´Ù.

¤¤. ReplicationÀ» ÀÌ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ¹é¾÷ÀÇ Àå´ÜÁ¡.
- ½Ç½Ã°£À¸·Î µ¥ÀÌÅ͸¦ ¿Å°ÜÀû±â¶§¹®¿¡ ¿øº» µ¥ÀÌÅͺ£À̽º¿¡ ¹®Á¦°¡ ¹ß»ýÇØ¼­ ¼­ºñ½º¸¦ Áß´ÜÇÒ °æ¿ì¿¡µµ ¸®Çø®ÄÉÀ̼Ǽ­¹ö·Î ´ëó°¡ °¡´ÉÇÏ´Ù.
- ƯÁ¤½ÃÁ¡À¸·ÎÀÇ º¹¿øÀº ºÒ°¡´ÉÇÏ´Ù.
- Replication¿¡ »ç¿ëÇÏ´Â Log¸¦ ÁÖ±âÀûÀ¸·Î ºñ¿öÁÖÁö ¾ÊÀ¸¸é ¿ë·®ÀǾйÚÀÌ »ó´çÇÏ´Ù.


À§¿¡¼­µµ º¼¼öÀÖµí, µÎ°¡ÁöÀÇ °¡ÀåÅ« Â÷ÀÌÁ¡Àº ƯÁ¤½ÃÁ¡À¸·ÎÀÇ º¹¿ø¿©ºÎ, ±×¸®°í ½Ç½Ã°£ ¹é¾÷ÀÌ´Ù.
±×·¡¼­ ³ªÀÇ °æ¿ì´Â µÎ°¡Áö ¹é¾÷À» ¸ðµÎ ¾Ö¿ëÇÏ´Â ÆíÀ̸ç, ReplicationÀº ÀÌÁ¦ ¾øÀ¸¸é ÇãÀüÇÑ ±×·±°ÍÀÌ µÇ¾î¹ö·È´Ù.
¸®Çø®ÄÉÀ̼ÇÀÇ ±¸Çö½Ã, ÀåÁ¡Àº À§¿¡ ÀÖ´Â°Ô ÀüºÎ°¡ ¾Æ´Ï´Ù.
¿øº» µ¥ÀÌÅͺ£À̽º(master)´Â ¾²±â¸¸ Çϰí, Äõ¸®¹® µîÀ¸·Î µ¥ÀÌÅͺ£À̽º¸¦ Àд ÀÛ¾÷Àº Slave¿¡¼­ ó¸®Çصµ °¡´ÉÇÑ,
È¿À²ÀûÀÎ ºÐ»êÀÛ¾÷À» À§Çؼ­µµ ÇÊ¿äÇѰÍÀÌ´Ù.




2. ReplicationÀÇ ¼³Á¤

¸®Çø®ÄÉÀ̼ǿ¡¼­´Â Çϵå IDE½ÃÀý ¼öµµ¾øÀÌ ÀÛ¾÷Çß´ø Master, SlaveÀÇ °³³ä¸¸ Àß ¾Ë°í ÀÖÀ¸¸é µÈ´Ù.
Master´Â ¿øº»µ¥ÀÌÅͺ£À̽º, Slave´Â ¹é¾÷¹Þ´Â ´ë»ó µ¥ÀÌÅͺ£À̽º¶ó°í »ý°¢ÇÏ¸é µÇ¸ç, ÀϹÝÀûÀ¸·Î ¾Ë·ÁÁø ¸®Çø®ÄÉÀ̼ÇÀÇ ¼³Á¤Àº ´ÙÀ½°ú °°´Ù.

(¸®´ª½º¹öÀü, MySQL 4.0 ±âÁØ ¼³¸í)

¤¡. MasterÀÇ ¼³Á¤
ÀÏ´Ü Ã³À½ºÎÅÍ ½±°Ô »ý°¢ÇÏ·Á¸é, ReplicationÀÇ ±âº» ±¸¼ºÀº ´ÙÀ½°ú °°´Ù.

a. Master¿¡¼­´Â µ¥ÀÌÅͺ£À̽º¿¡¼­ ÀϾ´Â ¸ðµç ÀÛ¾÷À» Log¿¡ ±â·ÏÇÏ°Ô µÇ¸ç, ÇØ´ç ·Î±×´Â Postion °ªÀ» °¡Áö°í ÀÖ´Ù.
b. Slave¿¡¼­´Â Master¿¡ ¼³Á¤µÇ¾î ÀÖ´Â °èÁ¤À¸·Î Á¢±ÙÇÏ¿© MasterÀÇ Á¤º¸¸¦ º¸°ÔµÇ¸ç, LogÀÇ Postion°ªÀ» Àоîµé¿©, ¾îµð±îÁö °¡Á®¿Ô´ÂÁö¸¦ ¾Ë¾Æ³»¼­
Æ÷Áö¼Ç°ªÀ» °»½ÅÇϸ鼭 µ¥ÀÌÅ͸¦ °è¼Ó ±Ü¾î¿Â´Ù.

À­¸»À» Á¤¸®ÇÏÀÚ¸é Master´Â °ªÀ» °è¼Ó ±â·Ï¸¸ Çϰí, Slave¿¡¼­´Â Master·Î Á¢±ÙÈÄ¿¡ µ¥ÀÌÅ͸¦ °è¼Ó °¡Á®¿À±â¸¸ ÇÑ´Ù.
±×·³ Slave¿¡¼­ Master·Î ¿¬°áÇϱâ À§ÇÑ °èÁ¤ ¼³Á¤Àº Master¿¡¼­ ¸¸µé¾îÁִ°ÍÀ̸ç, °èÁ¤¼³Á¤Àº ´ÙÀ½°ú °°Àº ¹æ¹ýÀ¸·Î Master¿¡ ±â·ÏÇÏ°Ô µÈ´Ù.

GRANT file ON *.* TO ¸®Çø®ÄÉÀ̼ǾÆÀ̵ð@'¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ' IDENTIFIED BY 'ÆÐ½º¿öµå'

±ÇÇÑ ¼³Á¤À» ÇÒ¶§ file´ë½Å All privileges ±ÇÇÑÀ» Á൵ ¹«¹æÇϱäÇÏÁö¸¸, ¾îÂ¥ÇÇ file¿¡ ´ëÇØ¼­¸¸ ±Ü¾î¿À´Â ÀÛ¾÷À» ¼öÇàÇϹǷÎ, ±âŸ ±ÇÇÑ¿¡ ´ëÇØ Áִ°ÍÀº ºÒÇÊ¿äÇÏ´Ù
¶ÇÇÑ ¾ÆÀÌÇǺκР¿ª½Ã %·Î ´ëóÇÒ¼öµµ ÀÖÀ¸³ª, ´ëºÎºÐÀÇ ¸®Çø®ÄÉÀ̼ÇÀº °°Àº ³×Æ®¿öÅ©¾È¿¡ ¼ÓÇØÀÖ´Â ¼­¹ö³¢¸® ÀÛ¾÷ÇÏ´Â°Ô º¸ÅëÀ̹ǷΠ¾ÆÀÌÇÇ´Â Àû¾îÁÖ´Â°Ô ÁÁ´Ù.


±ÇÇÑ ¼³Á¤Àº ´Ù µÇ¾úÀ¸¹Ç·Î, my.cnf¿¡ ´ëÇÑ ¼³Á¤¹æ¹ýÀº ´ÙÀ½°ú °°´Ù.
(À©µµ¿ì ¹öÀüÀº my.iniÀÇ ¼³Á¤À» °íÄ¡¸é µÈ´Ù.)


-------------------/etc/my.cnf--------------------------
[mysqld]
......

# MySQL ÀÇ ¸®Çø®ÄÉÀÌ¼Ç ±â´ÉÀ» »ç¿ëÇϱâ À§ÇÑ binary log ¼³Á¤
log-bin = /mysqltemp/log/replication.log
server-id = 1
binlog-do-db = µ¥ÀÌÅͺ£À̽º1
binlog-do-db = µ¥ÀÌÅͺ£À̽º2
--------------------------------------------------------

log-bin = ÆÄÀϰæ·Î/ÆÄÀÏÀ̸§
ÀÔ·ÂÇÏÁö ¾Ê´Â°æ¿ì ±âº»ÀûÀ¸·Î MysqlÀÇ Lib Directory¿¡ ±â·ÏÀÌ µÈ´Ù.
ÇØ´ç ·Î±×°¡ ½×À̰Եɶ§ ¿ë·®À» ¹«½ÃÇÒ ¼öÁØÀÌ ¾Æ´Ï¹Ç·Î ±â¾ïÇϱâ ÁÁÀº À§Ä¡·Î ÁöÁ¤Çؼ­ »ç¿ëÇϱ⠹ٶõ´Ù.

server-id = ¹øÈ£
ÇØ´ç ¾ÆÀ̵ðÀÇ ¼ýÀÚ´Â °íÀ¯ÇÑ ¼ýÀÚ¸¦ ÀÔ·ÂÇØ¾ßµÇ¸ç Áß¿äÇÑ°Ç slave¿Í id°¡ Ʋ·Á¾ß ÇÑ´Ù.

binlog-do-db = µ¥ÀÌÅͺ£À̽º1
ÇØ´ç MySQL³»¿¡¼­ ¿©·¯ µ¥ÀÌÅͺ£À̽ºÁß ReplicationÀ» ÇÒ µ¥ÀÌÅͺ£À̽º¸¦ Àû¾îÁØ´Ù.
µ¥ÀÌÅͺ£À̽º°¡ ´Ù¼öÀΰæ¿ì ÇØ´ç ±¸ÀýÀ» °è¼Ó Ãß°¡ÇؾߵǸç,
binlog-do-db = µ¥ÀÌÅͺ£À̽º1,µ¥ÀÌÅͺ£À̽º2 ½ÄÀ¸·Î Ãß°¡ÇÏ´Â°Ç µ¿ÀÛÇÏÁö ¾Ê´Â´Ù°í ¾Ë·ÁÁ®ÀÖ´Ù.


¤¤. SlaveÀÇ ¼³Á¤
Slave¿¡¼­´Â ¾Æ±îµµ À̾߱â Çßµí Master·Î Á¢±ÙÈÄ¿¡ µ¥ÀÌÅͺ£À̽º¸¦ °¡Á®¿À±â¸¸ ÇϹǷΠº°µµÀÇ °èÁ¤»ý¼ºÀÌ ÇÊ¿ä¾øÀ¸¸ç
my.cnf ¼³Á¤ÆÄÀÏÀ» ¼öÁ¤Çϴ°ÍÀ¸·Î ÀÛ¾÷ÀÌ ¿Ï·áµÈ´Ù.

-------------------/etc/my.cnf--------------------------
[mysqld]

......

server-id = 2
master-host = ¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ
master-user = ¸®Çø®ÄÉÀ̼ǾÆÀ̵ð
master-password = ÆÐ½º¿öµå
replicate-do-db = °¡Á®¿Ã µ¥ÀÌÅͺ£À̽º1
replicate-do-db = °¡Á®¿Ã µ¥ÀÌÅͺ£À̽º2
master-port = 3306
--------------------------------------------------------

slave¼³Á¤½Ã Master¿Í Ʋ¸°°Ç °¡Á®¿Ã ¸¶½ºÅÍ µ¥ÀÌÅͺ£À̽ºÀÇ ¾ÆÀÌÇǸ¦ Àû¾îÁà¾ßÇѴܰͰú(¾îµð¼­ Àоî¿ÃÁö´Â ¾Ë¾Æ¾ßÇϴϱî)
Á¢±Ù¿¡ ÇÊ¿äÇÑ °èÁ¤(¾Æ±î GRANT file On...À¸·Î »ý¼ºÇÑ °èÁ¤ÀÇ ¾ÆÀ̵ð/ÆÐ½º¿öµå)¸¦ ±â·Ï, ±×¸®°í ÀоîµéÀÏ µ¥ÀÌÅͺ£À̽º¸í
(MasterÀÇ binlog-do-db=µ¥ÀÌÅͺ£À̽º1)À» ±âÀçÇØÁÖ¾î¾ß ÇѴٴ°ÍÀÌ´Ù.



3. µ¿±âÈ­ ÆÁ
º¸Åë ¸®Çø®ÄÉÀ̼ÇÀº ¹éÁö»óÅ¿¡¼­ ½ÃÀÛÇϱ⺸´Ù´Â ƯÁ¤ µ¥ÀÌÅͺ£À̽º°¡ µ¹¾Æ°¡°í ÀÖ´Â »óȲ¿¡¼­ ¸®Çø®ÄÉÀÌ¼Ç ¼­¹ö¸¦ Ãß°¡·Î ¿î¿µÇÏ´Â °æ¿ì·Î
¹ßÀüµÇ¹Ç·Î, ´ÙÀ½°ú °°Àº µÎ°¡Áö 󸮹æ¹ýÀÌ ÀÖ´Ù.

¡Ø¸®Çø®ÄÉÀÌ¼Ç µ¿±âÈ­½Ã¿¡´Â ÃÖ´ëÇÑ µ¥ÀÌÅͺ£À̽ºÀÇ ³»¿ëÀÌ ÀÏÄ¡ÇÏ´Â°Ô ÁÁÀ¸¹Ç·Î, Master¿¡¼­ ´õÀÌ»ó DBÀÇ ÀÔÃâ·ÂÀÌ ÀϾÁö ¾Ê´Â »óÅ¿¡¼­ ÀÛ¾÷Çϴ°ÍÀÌ ÁÁ´Ù.
Áï. slave¿Í masterÀÇ mysqlÀ» ÁߴܽÃÄѳõ°í ÀÛ¾÷À» Çϴ°ÍÀÌ ÁÁ´Ù.
(/etc/rc.d/init.d/mysql stop)

¤¡. Dump¸¦ ÀÌ¿ëÇÏ¿© ó¸®Çϴ¹æ¹ý
- µ¥ÀÌÅͺ£À̽º¸¦ ´ýÇÁ¶áÈÄ, Slave¿¡¼­ Restore½ÃŰ´Â ¹æ½Ä, ´ÜÁ¡À¸·Ð ½Ã°£ÀÌ ±²ÀåÈ÷ ¸¹ÀÌ ¼Ò¸ðµÇ¹Ç·Î ÃßõÇÏÁö ¾Ê´Â´Ù.

¤¤. MySQL µ¥ÀÌÅÍ µð·ºÅ丮¸¦ Åë°·Î ¿Å±â´Â ¹æ¹ý
- ±ÇÀåÇÏ´Â ¹æ½ÄÀ̸ç, µ¥ÀÌÅͺ£À̽º°¡ À§Ä¡ÇѰ÷ (/var/lib/mysql¶Ç´Â /var/db°°Àº...)À» Åë°·Î ¾ÐÃàÇØ¼­ º¹»çÇϰųª, ¾Æ´Ï¸é ±×³É º¹»çÇÏ´Â ¹æ½ÄÀÌ´Ù.
º»ÀÎÀº Linux(AnnyungLinux 1.2)¼­¹ö¿¡¼­ ´Ù¸¥ ¸®´ª½º¼­¹ö(AnnyungLinux 1.2)·Î ¿Å±æ¶§ Çѹø¿¡ 2±â°¡ ÀÌ»óÀº ftp¿¡¼­ ¿Å°ÜÁöÁö ¾Ê´Â ±âÇö»óÀÌ ¹ß»ýÇÏ¿©
´ÙÀ½°ú °°Àº 󸮸¦ ÇÏ¿´´Ù.

a. tar cvfpz - sourcedirectory | split -b 1500m - databasebackup.tar.gz (1.5G·Î ºÐÇÒ ¾ÐÃà) - Master¿¡¼­ °¡Á®¿Ã µð·ºÅ丮¸¦ ¾ÐÃà
b. Slave¿¡ Á¢±ÙÈÄ ftp -> open ¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ.¾ÆÀÌÇÇ, -> ¾ÐÃàÆÄÀÏ °æ·Î·Î º¯°æ -> get databasebackup.tar.gz
c. °¡Á®¿ÂÈÄ ¸¶½ºÅÍÃøÀÇ ¾ÐÃàÀº »èÁ¦, º¹»çÀÛ¾÷µîÀÇ ±ÇÇÑ(chown,chmod)µîÀº ÀûÀýÇÏ°Ô ¼³Á¤




4. ¸®Çø®ÄÉÀ̼ÇÀÇ ½ÇÁ¦ µ¿ÀÛ¸í·É

µ¿±âÈ­°¡ ¿Ï·áµÇ¾ú´Ù¸é mysql¿¡¼­ ´ÙÀ½°ú °°Àº ¸í·É¾î·Î ¿©·¯ µ¿ÀÛµéÀ» È®ÀÎ °¡´ÉÇÏ´Ù.
(¾ÆÀÌÇÇ´Â ÀÓÀÇó¸®ÇÏ¿´´Ù)


¸ÕÀú master ¼­¹öÀÇ »óŸ¦ º¸ÀÚ.

¤¡. show processlist; - ÇöÀç µ¿ÀÛÇϰí ÀÖ´Â processlist¸¦ È®Àΰ¡´ÉÇÏ´Ù.

mysql> show processlist;
+--------+----------+----------------------+---------+-------------+--------+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+--------+----------+----------------------+---------+-------------+--------+----------------------------------------------------------------+------------------------------------------------------------------------------------------------------+
| 8 | replsvr | ***.***.***.***:**** | NULL | Binlog Dump | 747916 | Has sent all binlog to slave; waiting for binlog to be updated | NULL


¤¤. show master status; - ¸®Çø®ÄÉÀÌ¼Ç ¸¶½ºÅÍÀÇ µ¿ÀÛ »óÅÂ, Æ÷Áö¼Ç°ªµîÀ» ¾Ë¼öÀÖ´Ù.

mysql> show master status;
+-----------------+-----------+---------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+-----------------+-----------+---------------+------------------+
| replication.002 | 351161171 | test1, test2 | |
+-----------------+-----------+---------------+------------------+
1 row in set (0.00 sec)

¿©±â¼­ Áß¿äÇÑ°Ç file¿¡¼­ replication.002¿¡ ÇöÀç ±â·ÏÁßÀΰÍÀ» ¾Ë°í ÀÖÀ¸¸ç, slaveÃø¿¡¼­ 001µîÀ» ´Ù °¡Á®¿Â »óŶó¸é ÇØ´ç ·Î±×(replication.001)´Â Áö¿öµµ ¹«¹æÇÏ´Ù.


slaveÀÇ »óÅ´ ´ÙÀ½°ú °°ÀÌ È®ÀÎ °¡´ÉÇÏ´Ù.

mysql> show processlist;
+----+-------------+-----------+------+---------+--------+-----------------------------------------------------------------------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+-----------+------+---------+--------+-----------------------------------------------------------------------+------------------+
| 2 | system user | | NULL | Connect | 748267 | Waiting for master to send event | NULL |
| 3 | system user | | NULL | Connect | 8 | Has read all relay log; waiting for the I/O slave thread to update it | NULL |


¤§. µ¿ÀÏÇÏ°Ô show slave status·Î slaveÀÇ »óÅÂ¿Í Æ÷Áö¼Ç°ªÀ» ¾Ë¼öÀÖ´Ù.(¾ÆÀÌÇÇ, port ÀÓÀÇó¸®)

mysql> show slave status;
+----------------+-------------+-------------+---------------+-----------------+---------------------+-------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+
| Master_Host | Master_User | Master_Port | Connect_retry | Master_Log_File | Read_Master_Log_Pos | Relay_Log_File | Relay_Log_Pos | Relay_Master_Log_File | Slave_IO_Running | Slave_SQL_Running | Replicate_do_db | Replicate_ignore_db | Last_errno | Last_error | Skip_counter | Exec_master_log_pos | Relay_log_space |
+----------------+-------------+-------------+---------------+-----------------+---------------------+-------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+
| ***.***.**.*** | replsvr | **** | 60 | replication.002 | 355000057 | wisereplication-relay-bin.003 | 355000141 | replication.002 | Yes | Yes | test1,test2 | | 0 | | 0 | 355000057 | 355000141 |
+----------------+-------------+-------------+---------------+-----------------+---------------------+-------------------------------+---------------+-----------------------+------------------+-------------------+-----------------+---------------------+------------+------------+--------------+---------------------+-----------------+

À̶§ Áß¿äÇѰÍÀº master status¿Í slave status¸¦ ºÃÀ»¶§ ÀоîµéÀÌ´Â ÆÄÀϸí(À§¿¡¼­´Â replication.002)¿Í PostionÀ» ºñ±³Çؼ­ Â÷À̰¡ ³ªÁö ¾ÊÀ¸¸é ¼º°øÇѰÍÀÌ´Ù.


¤©. ±×¿Ü ¸í·É¾î

reset Master;
reset slave;
À§ÀÇ ¸í·É¾î·Î µÑÀÇ Æ÷Áö¼Ç°ª°ú ·Î±×ÆÄÀÏ »ý¼ºÀ» ÃʱâÈ­ ½Ãų¼ö ÀÖ´Ù.

slave stop;
master stop;
À§ÀÇ ¸í·É¾î·Î ¸®Çø®ÄÉÀÌ¼Ç ¼­¹öÀÇ µ¿ÀÛÁ¤Áö¸¦ ½Ãų¼ö ÀÖ´Ù.

slave start;
master start;
À§ÀÇ ¸í·É¾î·Î ¸®Çø®ÄÉÀÌ¼Ç ¼­¹öÀÇ Á¤Áö¸¦ ÇØÁ¦ÇÏ°í ´Ù½Ã °¡µ¿½Ãų¼ö ÀÖ´Ù.




5. ±× ¿ÜÀÇ È¯°æ ½ÇÇè.
¿¹Àü ¸®Çø®ÄÉÀ̼ÇÀ» ±¸ÇöÇÒ¶§ 4.0°ú 4.1¿¡¼­µµ ¼­·Î ¸®Çø®ÄÉÀ̼ÇÀÌ °¡´ÉÇß´Ù.
4.0°ú 5.0°£¿¡´Â Å×½ºÆ® ÇØº¸Áö ¾Ê¾ÒÀ¸³ª Ãæµ¹ÀÌ ¹ß»ýÇÒ È®·üÀÌ Áö´ëÀϵí ÇÏ´Ù.
(°¡±ÞÀû °°Àº ¹öÀüÀ» ¾²ÀÚ?)
¶ÇÇÑ ¸®´ª½º(master), À©µµ¿ìÁî(slave)°°Àº ȯ°æ¿¡¼­µµ Á¦´ë·Î µ¿ÀÛÇß´Ù.
(¿î¿µÃ¼Á¦´Â °¡¸®Áö ¾Ê´Â´Ù. ´ÜÁö À©µµ¿ìÁî/MySQL Á¶ÇÕÀº ±×¸® ±ÇÀåÇÏ´Â Á¶ÇÕÀÌ ¾Æ´Ï¶õ°Ç...)



6. ³¡À¸·Î
¾ó¸¶Àü À©µµ¿ìÁî ¼­¹ö ÇØÅ·À¸·Î ÀÎÇØ À©µµ¿ìÁîÀÇ ½ºÄÉÁì °ü¸® ±â´ÉÀ» ÀÌ¿ëÇØ ¸ÅÀÏ Æ¯Á¤½Ã°£ ÁÖ±âÀûÀ¸·Î µ¥ÀÌÅͺ£À̽º¸¦ ´ýÇÁÇߴµ¥
µÑ´Ù ¸®´ª½º ¸Ó½ÅÀ¸·Î ¹Ù²î¸é¼­ Crontab, ½©½ºÅ©¸³Æ®µîÀÇ »ç¿ë¹ýÀ» ¸ô¶ó¼­ ¾ÆÁ÷ ¸ÅÀÏ DumpÀÛ¾÷À» ¸øÇϰí ÀÖ´Â ½ÇÁ¤ÀÌ´Ù.

´ÙÀ½ °­Á¿¡¼­ Àú¸»°í ´©±º°¡ ¸®´ª½º¿¡¼­ crontabÀ» ¾²´Â¹æ¹ý°ú ½©½ºÅ©¸³Æ® ÀÛ¼º¹ýµîÀ» °­ÁÂ ÇØÁÖ¸é ij°¨»çÇϰڴÙ.

¿øº»: http://oops.org/?t=lecture&sb=mysql&n=1 ¾È³ç¸®·è½º ¹èÆ÷ÀÚ ±èÁ¤±Õ´Ô ȨÆäÀÌÁö

MySQL Replication

¾Æ µåµð¾î ³» Ȩ¿¡¼­ DB ¿¡ °üÇÑ ºÎºÐÀ» ´Ù·ç°Ô µÇ¾ú´Ù. ÇÏÁö¸¸ DB ¿¡ °üÇÑ ¼³Ä¡ ¹× Æ©´×¿¡ ´ë
ÇØ¼­´Â ³íÇÏÁö´Â ¾Ê´Â´Ù. ¿Ö³Ä¸é ÇÊÀÚ´Â DBÂÊ¿¡ Áö½ÄÀÌ º°·Î ¾ø±â ¶§¹®ÀÌ´Ù. ¸¸¾à ¼³Ä¡ ¹× Æ©
´×ÂÊ¿¡ °ü½ÉÀÌ ÀÖ´Ù¸é http://database.sarang.net À¸·Î ¹®ÀÇÇϱ⠹ٶõ´Ù. ÇÊÀÚ¿¡°Ô Áú¹®À» ÇÏ
´õ¶óµµ ´äº¯ µè±â ÈûµéÅ״ϱî..

Àâ¼³Àº ±×¸¸µÎ°í ±×·³ ¿©±â¼­´Â ¿ì¼± MySQL ÀÇ 3.23ºÎÅÍ Áö¿øÀÌ µÇ´Â Replication ±â´É¿¡ ´ëÇØ
¼­ ³íÇϰíÀÚ ÇÑ´Ù. Load Ballance µîÀÇ Àåºñ³ª ¶Ç´Â software ÀûÀÎ ¹æ¹ýÀ» ÅëÇØ ¼­¹ö¸¦ ¿©·¯´ë
¿î¿µÇÏ´Ù º¸¸é µ¿±âÈ­ ¹®Á¦°¡ ¹ß»ýÇÏ°Ô µÈ´Ù. Replication ±â´ÉÀº ¹Ù·Î À̰Íó·³ DB server ¸¦
¿©·¯´ë·Î ±¸µ¿À» ÇÒ¶§ °¢ DB¼­¹öÀÇ µ¿±âÈ­¸¦ Áö¿øÇϱâÀ§ÇÑ ±â´ÉÀ¸·Î »ç¿ëÀ» ÇÒ ¼ö°¡ ÀÖ´Ù. Áï,
ÀÔ·Â ¼­¹ö¿Í Ãâ·Â ¼­¹ö¸¦ ºÐ¸®Çؼ­ ¿î¿µÀ» ÇÒ ¼ö°¡ ÀÖ´Â °ÍÀÌ´Ù.

ÀÏ´Ü ¼³Á¤À» ³íÇϱâ Àü¿¡ ÁÖÀÇ ÇÒ °ÍÀº MySQL ÀÇ Replication ±â´ÉÀº 3.23¹öÁ¯ ºÎÅÍ Áö¿øÀ» ÇÏ
¸ç ÇöÀç MySQL ÀÇ Replication ±â´ÉÀº Å×½ºÆ® ¹öÁ¯ Á¤µµ¶ó°í ÀνÄÀ» ÇÏ°í µµÀÔ¿©ºÎ¸¦ °áÁ¤Çؾß
ÇÑ´Ù´Â Á¡ÀÌ´Ù.





Replication ¿¡¼­´Â Master ¿Í Slave ¶ó´Â ¸»À» »ç¿ëÇÏ°Ô µÈ´Ù. Master ¶ó´Â ¸»Àº Áï ´Éµ¿ÀûÀÎ
ÀÛ¾÷À» ¼öÇàÇÏ´Â ÃøÀ» ÀǹÌÇÑ´Ù. Áï ½ÇÁ¦·Î ¾÷µ¥ÀÌÆ®°¡ ¹ß»ýÇϰí, µ¿±âÈ­¸¦ ÇÒ ¼­¹öÀÇ ±âÁØÀÌ
µÇ´Â ¼­¹ö¸¦ ÀǹÌÇÑ´Ù.

ÀÏ´Ü, Replication ±â´ÉÀ» »ç¿ëÇϱâ À§Çؼ­´Â Replication ÀÇ ±â´ÉÀ» ¼öÇà ÇÒ À¯Àú°¡ ÇÊ¿äÇϸç
ÀÌ À¯Àú´Â ¸ðµç DB ¿¡ ´ëÇØ¼­ file ÀÇ ±ÇÇÑÀ» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù.

GRANT file ON *.* TO $repjob_user@'$slave_host_addr' IDENTIFIED BY '$passwd'

¸í·ÉÀ» ÀÌ¿ëÇÏ¿© file ¿¡ ´ëÇØ¼­¸¸ ¸ðµç DB ¿¡ ±ÇÇÑÀ» °¡Áö´Â À¯Àú¸¦ Ãß°¡Çϵµ·Ï ÇÑ´Ù. ¿©±â¼­
$repjob_user ´Â Áߺ¹µÇÁö ¾Ê´Â À¯ÀÏÇÑ ¾Æ¹« À̸§ÀÇ À¯Àú·Î ÁöÁ¤ÇÏ¸é µÇ¸ç, $salve_host.addr
Àº SLAVE server ·Î ¸¸µé ¼­¹öÀÇ ÁÖ¼Ò¸¦ Àû¾î Áà¾ß ÇÑ´Ù. ±×·¡¾ß SLAVE ¿¡¼­ À§¿¡¼­ ÁöÁ¤ÇÑ À¯
Àú·Î MASTER server ¿¡ Á¢¼ÓÀÌ °¡´ÉÇϱ⠶§¹®ÀÌ´Ù. ¸¶Áö¸·ÀÇ $passwd ´Â Á¢¼ÓÇÒ ÆÐ½º¿öµå¸¦ Áö
Á¤ÇÏ´Â °ÍÀÌ´Ù.

´ÙÀ½ my.cnf ¿¡ ¾Æ·¡¿Í °°ÀÌ Replication ±â´ÉÀ» À§ÇÑ MASTER ¼³Á¤À» ÇÑ´Ù.

Hanterm - cat /etc/my.cnf

[root@bbuwoo /etc]$ cat my.cnf

[mysqld]
....
....
log-bin
binlog-do-db = test
binlog-do-db = test1
server-id = 1

[root@bbuwoo /etc]$

log-bin Àº Replication À» À§ÇÑ binary log ¸¦ ³²±â°Ô ÇÑ´Ù.  server-id ´Â Replication ±â´É
À» »ç¿ëÇÏ´Â ¼­¹öÁß À¯ÀϰªÀ» °¡Á®¾ß ÇÑ´Ù. server-id ´Â 1 ¿¡¼­ 2^32-1 ±îÁö ÁöÁ¤ÇÒ ¼ö ÀÖ´Ù.

binlog-do-db ´Â Replication À» »ç¿ëÇÒ database ¸¦ ÁöÁ¤ÇÑ´Ù. binlog-do-db = test,test1 °ú
°°ÀÌ´Â »ç¿ëÀÌ ¾ÈµÈ´Ù. ÀÌÀ¯´Â ¸ð¸£°ÚÁö¸¸ Çϳª¿¡ Çϳª¾¿ Àû¾î Áà¾ß ÇÑ´Ù. ¸¸¾à ¸ðµç database
¸¦ µ¿±âÈ­ ÇÏ·ÁÇÑ´Ù¸é binlog-do-db ¸¦ ¼³Á¤À» ¾ÈÇÏ¸é µÈ´Ù. ¸¸¾à mysql DB ¸¸ Replication ±â
´ÉÀ» »ç¿ëÇÏ°í ½ÍÁö ¾Ê´Ù¸é binlog-ignore-db ¸¦ »ç¿ëÇÏ¸é µÈ´Ù.

my.cnf ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â MASTER ¿¡ °üÇÑ ¿É¼ÇÀº ´ÙÀ½°ú °°´Ù

log-bin=filename

Replication ±â´É¿¡ ÇÊ¿äÇÑ binary log ¸¦ ³²±â°Ô ÇÑ´Ù. filename À» ÁöÁ¤ÇÏÁö ¾ÊÀ» °æ¿ì¿¡´Â
mysql ÀÇ lib directory ¿¡ $host-bin.001 °ú °°ÀÌ ³²°Ô µÈ´Ù. RPMÀ¸·Î ¼³Ä¡ÇßÀ» °æ¿ì¿¡´Â º¸
Åë /var/lib/rpm ¿¡ ³²°ÔµÇ¸ç, prefix ¸¦ ÁöÁ¤ÇÏÁö ¾ÊÀº ä ¼Ò½º ÄÄÆÄÀÏÀ» ÇßÀ» °æ¿ì¿¡´Â º¸Åë
/usr/local/mysql/lib/ ¿¡ ³²°Ô µÈ´Ù.

log-bin-index=filename

binary file ÀÇ index ÆÄÀÏÀ» »ý¼ºÇÑ´Ù. ÁöÁ¤ÇÏÁö ¾ÊÀ¸¸é $host-bin.index ·Î ³²°Ô µÈ´Ù. ÁöÁ¤
Çϳª ÇÏÁö ¾ÊÀ¸³ª º° »ó°üÀº ¾ø´Ù.

sql-bin-update-same

If set, setting SQL_LOG_BIN to a value will automatically set SQL_LOG_UPDATE to the same
value and vice versa.

binlog-do-db=database_name

MASTER ÀÇ ¿©·¯ DB Áß Replication ±â´ÉÀ¸·Î µ¿±âÈ­¸¦ ÇÒ Database¸¦ ¼±ÅÃÇÑ´Ù. À̰ÍÀÌ ÁöÁ¤ÀÌ
µÇ¾î ÀÖÀ¸¸é ÁöÁ¤µÇÁö ¾ÊÀº Database µéÀº µ¿±âÈ­¿¡¼­ ºüÁø´Ù.

binlog-ignore-db=database_name

MASTER ÀÇ ¿©·¯ DB Áß Replication ±â´ÉÀ¸·Î µ¿±âÈ­¸¦ ÇÏÁö ¾ÊÀ» Database ¸¦ ¼±ÅÃÇÑ´Ù. À̰Í
ÀÌ ÁöÁ¤ÀÌ µÇ¾î ÀÖÀ¸¸é ÁöÁ¤µÇÁö ¾ÊÀº Database µé¸¸ µ¿±âÈ­¸¦ ÇÑ´Ù. ¸¸¾à binlog-do-db °¡ ¼³
Á¤ÀÌ µÇ¾î ÀÖÀ» °æ¿ì ¿¡´Â binlog-do-db ¸¦ ¸ÕÀú Àû¿ëÇÏ°í³ª¼­ binlog-ignore-db ¸¦ Àû¿ëÇÑ´Ù.

Á» ´õ ÀÚ¼¼ÇѰÍÀ» ¾Ë°í ½Í´Ù¸é http://www.mysql.com/doc/R/e/Replication_Options.html ¸¦ Âü
°í Çϵµ·Ï ÇÑ´Ù.




SLAVE ÃøÀÇ ¼³Á¤¿¡¼­´Â º°´Ù¸¥ À¯Àú Ãß°¡°¡ ÇÊ¿ä ¾øÀ¸¸ç MASTER ÃøÀÇ Ãß°¡ÇÑ À¯Àú Á¤º¸¸¦ ÀÌ¿ë
ÇÏ¿© my.cnf ¿¡¼­ SLAVE ¼³Á¤¸¸ ÇØ ÁÖ´Â °ÍÀ¸·Î ¼³Á¤ÀÌ ³¡³­´Ù.

Hanterm - cat /etc/my.cnf

[root@bbuwoo /etc]$ cat my.cnf

[mysqld]
....
....
server-id = 2
master-host = mater_ipaddres
master-user = $repjob_user
master-password = $passwd
replicate-do-db = test
master-port = 3306

[root@bbuwoo /etc]$

server-id ´Â ¿ª½Ã À¯Àϰª À̾î¾ß ÇÑ´Ù. MASTER ¿¡¼­ 1 À» »ç¿ëÇßÀ¸´Ï SLAVE ¿¡¼­´Â 2 ¸¦ »ç¿ë
ÇÑ´Ù.

master-host ´Â MASTER server ÀÇ ip address ¸¦ ÁöÁ¤ÇØ ÁØ´Ù. master-user ´Â Replication ÀÛ
¾÷À» ÇÒ À¯Àú¸¦ ÁöÁ¤ÇÑ´Ù. À§ÀÇ MASTER ¿¡¼­ µî·ÏÇØ ÁØ À¯Àú¸¦ Àûµµ·Ï ÇÑ´Ù.

master-passwd ´Â Replication ÀÛ¾÷À» ÇÒ À¯ÀúÀÇ ÆÐ½º¿öµå¸¦ ÁöÁ¤ÇÑ´Ù.

master-port ´Â MASTER server °¡ »ç¿ëÇÏ´Â Æ÷Æ®¸¦ ÁöÁ¤ÇÑ´Ù. ±âº»°ªÀ¸·Î 3306 ÀÌ´Ù.

¸¸¾à MASTER server ÀÇ Æ¯Á¤ DB¸¸ Replication ±â´ÉÀ» »ç¿ëÇÏ°í ½Í´Ù¸é replicate-do-db ¸¦ ÀÌ
¿ëÇÑ´Ù. ÇÏÁö¸¸ ÀÌ ±â´ÉÀº MASTER ¿¡¼­ binlog-ignore-db ·Î Á¦ÇÑÀ» Çϰí ÀÖ´Ù¸é Àû¿ëÀÌ µÇÁö
¾Ê´Â´Ù. Áï SLAVE level ¿¡¼­´Â MASTER °¡ Çã¶ô ÇÏ´Â database Áß¿¡¼­ ¼±ÅÃÀ» ÇÒ ¼ö ÀÖÀ» »ÓÀÌ
´Ù. SLAVE ¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ´Â ¿É¼ÇµéÀº

http://www.mysql.com/doc/R/e/Replication_Options.html

¸¦ Âü°í Çϵµ·Ï ÇÑ´Ù.

À§ÀÇ ÀÛ¾÷À» °£´ÜÈ÷ ¼³¸íÀ» ÇÏÀÚ¸é MASTER ¿¡¼­´Â Replication À» À§ÇÑ À¯Àú¿¡°Ô file ¿¡ ´ëÇØ
¼­´Â ¸ðµç ±ÇÇÑÀ» ÁØ »óÅ·ΠÃß°¡ ÇßÀ¸¸ç, test, test1 database ¿¡ ´ëÇØ¼­ Replication À» ÇÏ
µµ·Ï ¼³Á¤À» ÇÑ °ÍÀÌ´Ù. SLAVE ¿¡¼­´Â replicate-do-db °¡ ¼³Á¤ÀÌ µÇ¾î ÀÖÀ¸¹Ç·Î test1 DB ¸¸
µ¿±âÈ­¸¦ ÇÏ°Ô ¼³Á¤ÇÑ °ÍÀÌ´Ù.




MASTER ¿Í SLAVE ÀÇ ¼³Á¤À» ¸¶ÃÆÀ¸¸é Replication ±â´ÉÀ» »ç¿ëÇϱâ Àü¿¡ µÎ´ë°£ÀÇ µ¿±âÈ­ ÀÛ¾÷
À» ¸ÕÀú ÇØ ³õ¾Æ¾ß ÇÑ´Ù. ¸ÕÀú µ¿±âÈ­ ÇÒ database ¸¦ SLAVE ·Î ¿Å±ä´Ù. (¸¸¾à MASTER ¿¡¼­ ¾Æ
¹«°Íµµ ¾ø´Â »óÅ¿¡¼­ ½ÃÀÛÇÑ´Ù¸é ÀÌ ÀÛ¾÷Àº ÇÊ¿ä¾ø´Ù. MASTER¿¡¼­ ¿î¿µÁßÀÎ °ÍÀ» Replication
±â´ÉÀ» ÀÌ¿ëÇÏ¿© µ¿±âÈ­ Çϱâ À§ÇØ ÇÊ¿äÇÑ ÀÛ¾÷ÀÌ´Ù.) À§¿¡¼­´Â test1 DB ¸¸ µ¿±âÈ­¸¦ Çϵµ·Ï
¼³Á¤À» ÇßÀ¸´Ï MASTER ÀÇ test1 DB¸¦ ¾ÐÃàÇØ¼­ SLAVE ·Î ¿Å±ä´Ù (mysql ÀÇ °æ¿ì¿¡´Â data file
¸¸ ¿Å°Üµµ ±×³É Àû¿ëÀ» ÇÒ ¼ö ÀÖ´Ù.)

master) cd /var/lib/mysql
master) tar cvfpz test1.tgz test1
master) chmod 777 test1.tgz

slave) cd /var/lib/mysql
slave) ncftp -u user master_server
slave) (Afer login) cd /var/lib/mysql
slave) get test1.tgz
slave) delete test1.tgz (ftp »óÀÇ ÆÄÀÏÀ» »èÁ¦)
slave) quit (ftp logout)
slave) tar xvfpz test1.tgz
slave) chown -R mysql.mysql test1





¿©±â ±îÁöÀÇ ÀÛ¾÷ÀÌ ¿Ï·á µÇ¾ú´Ù¸é ÀÌÁ¦ MASTER ¿Í SLAVE ÀÇ mysql À» ±¸µ¿ÇÏ°í ´ÙÀ½À» È®ÀÎÇÑ
´Ù. ¿©±â¼­ÀÇ °á°ú°ªÀº 3.23.42 ¸¦ ±âÁØÀ¸·Î ÇÑ´Ù. ¹öÁ¯ ¸¶´Ù °á°ú°ªÀÌ ´Ù¸¥ ÇüÅ·Π³ª¿Ã ¼ö°¡
ÀÖ´Ù.


MASTER Server
Hanterm - mysql -e "show process"

[root@bbuwoo /etc]$ /etc/rc.d/init.d/mysql restart

Shutting down MySQL: [ OK ]
Starting MySQL: [ OK ]

[root@bbuwoo /etc]$ mysql -uroot -p -e "show processlist"

+----+-------+--------+------+-------------+------+
| Id | User | Host | db | Command | Time |
+----+-------+--------+------+-------------+------+
| 7 | $user | $slave | NULL | Binlog Dump | 2865 |
+----+-------+--------+------+-------------+------+
+---------------------------------------------+------+
| State | Info |
+---------------------------------------------+------+
| Slave connection: waiting for binlog update | NULL |
+---------------------------------------------+------+

[root@bbuwoo /etc]$ mysql -uroot -p -e "show master status"

+---------------+----------+------------------+------------------+
| File | Position | Binlog_do_db | Binlog_ignore_db |
+---------------+----------+------------------+------------------+
| $host-bin.001 | 729 | test,test1 | |
+---------------+----------+------------------+------------------+

[root@bbuwoo /etc]$

SLAVE Server
Hanterm - mysql -e "show process"

[root@bbuwoo /etc]$ /etc/rc.d/init.d/mysql restart

Shutting down MySQL: [ OK ]
Starting MySQL: [ OK ]

[root@bbuwoo /etc]$ mysql -uroot -p -e "show processlist"

+----+-------------+------+------+---------+------+-----------------------+------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+------+------+---------+------+-----------------------+------+
| 1 | system user | none | NULL | Connect | 2847 | Reading master update | NULL |
+----+-------------+------+------+---------+------+-----------------------+------+

[root@bbuwoo /etc]$ mysql -uroot -p -e "show slave status"

+-------------+-------------+-------------+---------------+---------------+-----+
| Master_Host | Master_User | Master_Port | Connect_retry | Log_File | Pos |
+-------------+-------------+-------------+---------------+---------------+-----+
| $master_ip | $rejob_user | 3306 | 60 | $host-bin.001 | 729 |
+-------------+-------------+-------------+---------------+---------------+-----+
+---------------+-----------------+---------------------+------------+
| Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno |
+---------------+-----------------+---------------------+------------+
| Yes | test | | 0 |
+---------------+-----------------+---------------------+------------+
+------------+--------------+
| Last_error | Skip_counter |
+------------+--------------+
| | 0 |
+------------+--------------+

[root@bbuwoo /etc]$

¿Í °°ÀÌ ³ª¿Í ÀÖÀ½À» È®ÀÎÇÏ¸é µÈ´Ù.




Replication ÀÌ Àß µÇ´Ù°¡ °©ÀÚ±â slave ¿¡¼­ master °¡ ¹Ý¿µÀÌ µÇ¾î ÀÖÁö ¾ÊÀ» °æ¿ì slave ÀÇ
error log ¸¦ º¸µµ·Ï ÇÑ´Ù. error log ¸¦ º¸°í ¹®Á¦Á¡À» fix ÇÑ ´ÙÀ½

shell> mysqladmin -uroot -p slave-start

¸í·ÉÀ» ½ÇÇàÇÏ¸é ¹Ý¿µµÇÁö ¾Ê¾Ò´ø master ÀÇ ÀÚ·á°¡ Çϳª¾¿ ¹Ý¿µµÇ´Â °ÍÀ» º¼ ¼ö ÀÖÀ» °ÍÀÌ´Ù.

¶Ç ÇѰ¡Áö ÁÖÀÇÇÒ Á¡Àº replication À» ±¸ÇöÇÒ¶§ master ¿¡¼­

mysql> create database DB¸í;

¸í·ÉÀº slave ¿¡ ¹Ý¿µÀÌ µÇÁö¸¦ ¾Ê´Â´Ù. ±×·¯¹Ç·Î slave ÀÇ ¼³Á¤¿¡

replicate-do-db = DB¸í

À» ¸íÈ®ÇÏ°Ô ¹àÇô ³õ¾Æ¾ßÁö ¿¡·¯°¡ ¹ß»ýÇÏ´Â °ÍÀ» ¸·À» ¼ö ÀÖ´Ù. ±×·³ Master ¿¡¼­ DB ¸¦ Ãß°¡
ÇÒ ¶§´Â ±ÍÂú´õ¶óµµ slave ¿¡¼­ ¼öµ¿À¸·Î create database ¸¦ ÇÑ ´ÙÀ½ Ãß°¡µÈ db ¸¦ my.cnf ¿¡
¼­ replicate-do-db ¸¦ ¼³Á¤ÇÑ ´ÙÀ½ slave ¸¦ Àç½ÃÀÛ ÇÏ´Â °ÍÀ» ±ÇÀåÇÑ´Ù.

database Ãß°¡°¡ ¹Ý¿µÀÌ µÇÁö ¾Ê´Â °ÍÀº ÇÊÀÚ°¡ ±× ¹æ¹ýÀ» ãÁö ¸øÇÑ °ÍÀÎÁö ¾Æ´Ï¸é ¿ø·¡ ±¸Çö
ÀÌ ¾ÈµÇ¾î ÀÖ´Â °ÍÀÎÁö¸¦ ¸ð¸£°Ú´Ù. Ȥ½Ã ¾Æ´Â »ç¶÷ÀÌ ÀÖÀ¸¸é ÇÊÀÚ¿¡°Ô Æ÷½ºÆÃÀ» ÇØ ÁÖ¸é °¨»ç
ÇϰڴÙ.




mysql> show processlist;

+----+-------------+------+------+---------+------+-----------------------+------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------------+------+------+---------+------+-----------------------+------+
| 1 | system user | none | NULL | Connect | 2847 | Waiting to reconnect | NULL |
| | | | | | | after a failed read | |
+----+-------------+------+------+---------+------+-----------------------+------+
2 rows in set (0.00 sec)

mysql> show slave status;
+-------------+-------------+-------------+---------------+---------------+-----+
| Master_Host | Master_User | Master_Port | Connect_retry | Log_File | Pos |
+-------------+-------------+-------------+---------------+---------------+-----+
| $master_ip | $rejob_user | 3306 | 60 | $host-bin.101 | 729 |
+-------------+-------------+-------------+---------------+---------------+-----+
+---------------+-----------------+---------------------+------------+
| Slave_Running | Replicate_do_db | Replicate_ignore_db | Last_errno |
+---------------+-----------------+---------------------+------------+
| Yes | test | | 0 |
+---------------+-----------------+---------------------+------------+
+------------+--------------+
| Last_error | Skip_counter |
+------------+--------------+
| | 0 |
+------------+--------------+

ÀÌ °æ¿ì¸¦ º¸µµ·Ï ÇÏÀÚ. processlist ¿¡¼­´Â ÀÐ±â ½ÇÆÐÈÄ¿¡ ÀçÁ¢¼ÓÀ» ±â´Ù¸®°í ÀÖ´Ù°í »óȲÀ»
Ãâ·ÂÇϰí ÀÖ°í, slave status ¿¡¼­´Â host-bin.101 ¿¡¼­ ¸ØÃçÀÖ´Ù. ±×¸®°í master ¿¡¼­´Â ·Î±×
ÆÄÀÏÀÌ host-bin.130 ¹øÀ» »ý¼ºÇϰí ÀÖÀ» °æ¿ìÀÌ´Ù. Áï ·Î±× 101 ¿¡¼­ slave ´Â ¸ØÃçÁø »óÅÂÀÌ
´Ù. ±×¸®°í slave ÀÇ ¿¡·¯·Î±× ÆÄÀÏ¿¡´Â ´ÙÀ½°ú °°Àº ³»¿ëÀÌ ÀÖ´Ù.

020312 17:52:37 Error reading packet from server: Could not open log file
(read_errno 0,server_errno=13)
020312 17:53:37 Slave: Failed reading log event, reconnecting to retry, log
'$host-bin.101' position 729
020312 17:53:37 Slave: reconnected to master '$rejob_user@$master_ip:3306',
replication resumed in log '$host-bin.101' at position 729

ÀÌ·± °æ¿ì¿¡´Â, master ÀÇ ¹ÙÀ̳ʸ® ·Î±× ÆÄÀÏÀÇ ¼ÒÀ¯±ÇÀ» Àß »ìÆìº¸±â ¹Ù¶õ´Ù. º¸Åë mysql Àº
mysql À¯Àú·Î¼­ ±¸µ¿À» ÇÏ´Â °æ¿ì°¡ ¸¹Àºµ¥ À̶§ ·Î±×ÆÄÀÏÀÌ °£È¤ root ÀÇ ±ÇÇÑÀ¸·Î »ý¼ºÀÌ µÇ
´Â °æ¿ì°¡ ÀÖ´Ù. ÀÌ °æ¿ì Àб⠱ÇÇÑÀÌ ¾ø¾î À§¿Í °°Àº ¿¡·¯°¡ ¹ß»ýÇÏ´Â °æ¿ì°¡ Á¸ÀçÇÑ´Ù

¿ë¾îµé | 2007-06-27 09:44:18
Hit : 239

µ¥ÀÌÅ͸¦ ¾Ïȣȭ´Â ¾Ë°í¸®Áò°ú Ű·Î ÀÌ·ç¾î Áý´Ï´Ù.

Á¤È®È÷´Â ¾Ë°í¸®Áò°ú ±× ¾Ë°í¸®Áò¿¡ ¸Â´Â ۶ó°í ÇØ¾ß°ÚÁÒ! *^^*

¾Ïȣȭ ´ë»óÀÌ µÇ´Â µ¥ÀÌÅ͸¦ ¾Ë°í¸®ÁòÀ¸·Î ¾Ïȣȭ Çϰí Ű·Î º¹È£È­ ÇÕ´Ï´Ù.

º¹È£È­¶õ ÇØµ¶ÇÑ´Ù´Â ¶æÀÌÁÒ~~ ^^;;;;;;;

¾Ë°í¸®ÁòÀº ÀϹݿ¡ °ø°³ µÇÁö¸¸ Ű´Â °ø°³µÇÁö ¾Ê½À´Ï´Ù. ¾Æ´Ï °ø°³ÇÒ ¼ö ¾ø½À´Ï´Ù.

±â²¯ ¾Ë°í¸®ÁòÀ» Â¥¼­ ¾Ïȣȭ ÇØ³õ°í ¿­¼è¸¦ Áà ¹ö¸®¸é Çʿ䰡 ¾øÁÒ?

¾Ë°í¸®ÁòÀº ¼öÇÐÀû ÇÔ¼ö¸¦ »ç¿ëÇÕ´Ï´Ù. ÀϹÝÀûÀ¸·Î ÇØ½¬(Hash)¶ó°í ÇÕ´Ï´Ù.

ÀÌ ÇØ½¬´Â °íÀ¯ÀÇ ¼ýÀÚ¸¦ »ê¼úÇØ³À´Ï´Ù. ÀÌ »êÃâµÈ °íÀ¯ ¼ýÀÚ°¡ ¹Ù·Î ۰¡ µË´Ï´Ù.

128ºñÆ®´Â 2Áø¼ö ÀÔ´Ï´Ù.

¡Ø 128ºñÆ® ¾ÏȣȭÀÇ Àǹ̴ ŰÀÇ ±æÀ̰¡ 128ºñÆ®¶ó´Â ¸»ÀÔ´Ï´Ù.


۰¡ ±æ¾î¼­ ¾ÏÈ£¸¦ ÇØÅ·ÇÏ´Â°Ô ºÒ°¡´ÉÇÏÁö´Â ¾ÊÁö¸¸ ±×¸¸Å­ ¾ÏÈ£¸¦ ÇØÅ·Çϴµ¥ ¿À·£½Ã°£ÀÌ °É¸°´Ù´Â ¸»ÀÌÁÒ.

¿¹¸¦ µé¾î ¸î³â¿¡¼­ ¸î½Ê³âÀÌ °É¸°´Ù°íµµ ÇÏ°í ¸î¹é³âÀÌ °É¸°´Ù°íµµ ÇÕ´Ï´Ù.
±â¼úÀÌ ¹ßÀüÇØ°¡¸é¼­ ¿¹Àü¿¡ ¸¹ÀÌ »ç¿ëµÅ¾ú´ø 40ºñÆ® ¾ÏȣȭÀÇ °æ¿ì Áö±ÝÀº ¸îºÐ À̳»·Î ¾ÏÈ£¸¦ Ç®¾î¹ö¸®±â ¶§¹®¿¡ ¹«¿ëÁö¹°ÀÌ µÅ¾î¹ö·È½À´Ï´Ù.

128 ºñÆ®ÀÇ ¿¹) 1010100100 0101001001 0101010010 1010101010 1010101001 1010101010 1010101010 1010101001 0101010101 0101010101 1010010011 1110101110 01110111

40ºñÆ®ÀÇ ¿¹) 0101010101 0101010101 1010010011 1110101110

ÀÌ 128ºñÆ®·Î Ç¥Çö °¡´ÉÇÑ ¼ýÀÚ´Â 2ÀÇ 128Á¦°ö °³ÀÇ ¼ýÀÚÀÔ´Ï´Ù. ¾î¸¶¾î¸¶ÇÏ°Ô Å« ¼ýÀÚÁÒ. ´Ù½Ã¸»Çϸé 128ºñÆ® ¾Ïȣȭ ±â¼ú¿¡´Â 2ÀÇ 128½Â °³ÀÇ Å°°¡ Á¸ÀçÇÑ´Ù´Â ¸»ÀÌÁÒ. ºñÆ®¼ö°¡ ³ôÀ¸¸é ³ôÀ» ¼ö ·Ï ۸¦ ã±â°¡ Èûµé°ÚÁÒ?

À̱ÛÀ» ÀÐÀ¸½Ã´Â ºÐµéÀº ´Ù ¾Æ½Ã°ÚÁö¸¸ 2ÀÇ 40Á¦°ö°ú 2ÀÇ 128Á¦°öÀº »ó»óµµ ¸øÇÒ °³¼öÀÇ Å°ÀÇ ¼ýÀÚÀÇ Â÷À̰¡ ÀÖ½À´Ï´Ù.

 

¾ÏȣȭÇϴ¹æ¹ý¿¡´Â ºñ¹ÐŰ(´ëĪŰ) ¹æ½ÄÀΠDES ¿Í °ø°³Å°(ºñ´ëĪŰ) ¹æ½ÄÀΠRSA ¹æ½ÄÀÌ ´ëÇ¥ÀûÀÔ´Ï´Ù. ÀÎÁõ¼­´Â ÀÎÅͳݹðÅ·À̳ª ¼îÇνÿ¡ °³ÀÎÀÇ Á¤º¸¸¦ º¸È£ÇÏ°í ¾ÈÀüÇÑ °Å·¡¸¦ À§ÇØ ¼³Ä¡ÇÏ°Ô µÇ´Â ÀÏÁ¾ÀÇ º¸¾ÈÀåÄ¡ ÀÔ´Ï´Ù. ½±°Ô ¸»ÇØ ÀÎÁõ¼­°¡ ±ò·ÁÀÖ´Â ÄÄ¿¡¼­¸¸ °Å·¡°¡ °¡´ÉÇÏ°Ô Çϴ¹æ½ÄÀÌÁÒ. ¹°·Ð °³ÀÎÈ®ÀÎ ÀýÂ÷µµ °ÅÄ¡±¸¿ä..

 

 

´ëĪ ¾Ïȣȭ (ºñ¹ÐŰ ¾Ïȣȭ : DES)¶õ ¾ÏÈ£ÇÒ ¶§¿Í ÇØµ¶(º¹È£È­)ÇÒ ¶§ ¶È°°Àº ۸¦ »ç¿ëÇÏ´Â ¾Ïȣȭ ¹æ½Ä ÀÔ´Ï´Ù. ´ëĪ ¾Ïȣȭ ¹æ½ÄÀ» »ç¿ëÇÏ¿© Åë½ÅÇÏ·Á´Â µÎ »ç¶÷Àº »çÀü¿¡ ±× Ű¿¡ µ¿ÀÇÇØ¾ß ÇÕ´Ï´Ù. ºñ¹Ð۸¦ °¡Áö°í ¾Ïȣȭ¸¦ Çϴµ¥ µÑÁß¿¡ Çϳª¸¸ ۸¦ ¾Ë°í ÀÖÀ¸¸é ¾ÈµÇ°ÚÁÒ? ^^ ³Ý¸¶ºí¿¡¼­ ºñ¹Ð¹æ ¸¸µé¾î¼­ Ä£±¸¸¦ ºÒ·¯¼­ °í½ºÅéÀ» Ä¡´Âµ¥ ºñ¹Ð¹øÈ£¸¦ Àú¸¸ ¾Ë°í ÀÖ´Ù¸é ±× Ä£±¸¸¦ ¹°¸ÔÀÌ´Â Áö¸§±æÀÌ µÉ°Å¿¹¿ä.. Çѹø ÇØº¸¼¼¿ä.. ÇÏÇÏÇÏ *^^*

´Ù½Ã º»·ÐÀ¸·Î µé¾î°¡¼­ º¸³»´Â »ç¶÷Àº ±× Å