Inside SQL Server / Kalen Delaney ÃÖÀûÈ­ ±íÀÌ ¾Ë±â Äõ¸® ÃÖÀûÈ­±â´Â SQL ¼­¹ö µ¥ÀÌÅͺ£À̽º ¿£Áø¿¡¼­ °¡Àå Á¤±³ÇÏ°í º¹ÀâÇÑ ÄÚµå·Î ±¸¼ºµÇ¾î ÀÖ´Ù. ÃÖÀûÈ­±âÀÇ ¿ªÇÒÀº ½ÇÇà °èȹ(Äõ¸® Ç÷£)À» ¸¸µé¾î ³»´Â °ÍÀε¥, ÀÌ°ÍÀº SQL ¼­¹ö°¡ »ç¿ëÀÚÀÇ Äõ¸®¸¦ ½ÇÇàÇÒ ´Ü°èµéÀÇ ÁýÇÕÀÌ´Ù. ÃÖÀûÈ­±â´Â °¢ Å×ÀÌºí¿¡¼­ ¾î¶² À妽º¸¦ »ç¿ëÇÒ Áö, Á¶ÀεǴ Å×À̺íÀ» ¾î¶² ¼ø¼­·Î ¾î¶² ¹æ¹ýÀ» ½á¼­ ÇÒ °ÍÀÎÁö, Áß°£ °á°ú °ªÀ» ÀúÀåÇϱâ À§ÇØ Àӽà ÀÛ¾÷ Å×À̺íÀ» ¸¸µé °ÍÀÎÁö, ³»ºÎÀûÀÎ Á¤·ÄÀÛ¾÷À» ÇÒ °ÍÀÎÁö, ±×¸®°í ¿©·¯ °³ÀÇ CPU¸¦ »ç¿ëÇÏ¿© ó¸®ÇÒ °ÍÀÎÁö µîÀ» °áÁ¤ÇÑ´Ù. ÀÌÁ¦ ¾ÕÀ¸·Î ¸î ´Þ µ¿¾È ³ª´Â Áö³­ µÎ ¹øÀÇ Ãâ½Ã µ¿¾È ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®°¡ SQL ¼­¹ö¸¦ ³» ³õÀ¸¸é¼­ ÃÖÀûÈ­±â¿¡ ´ëÇØ º¯°æ½ÃŲ ¸¹Àº °Íµé¿¡ ´ëÇØ À̾߱â ÇÏ°íÀÚ ÇÑ´Ù. À̹ø ´Þ¿¡´Â ÃÖÀûÈ­±âÀÇ ¹è°æ°ú ÃÖÀûÈ­±â°¡ º¯°æµÈ ¹æ¹ý¿¡ ´ëÇØ ¼³¸íÇÏ°íÀÚ ÇÑ´Ù. ÀÌÈÄ ´Ù·ê ³»¿ë¿¡¼­´Â ±× Àü ¹öÀü¿¡ ºñÇؼ­ SQL ¼­¹ö 2000°ú 7.0¿¡¼­ ´Þ¶óÁø, ±×·¡¼­ ´õ ³ºÀº ¼º´ÉÀ» º¸ÀÌ´Â ¿¹µéÀ» º¸¿©ÁÖ°íÀÚ ÇÑ´Ù. °ú°Å¿¡´Â¡¦ SQL ¼­¹ö 7.0 ÀÌÀü¿¡´Â ÃÖÀûÈ­±â°¡ º°·Î ¼±ÅÃÇÒ ¼ö ÀÖ´Â °ÍÀÌ ¾ø¾ú´Ù. ÃÖÀûÈ­±â´Â À¯¿ëÇÏ°Ô ¾²ÀÏ °¡´É¼ºÀÌ ÀÖ´Â À妽º¸¦ Æò°¡ÇØ º¸°í, ±×°Íµé Áß Çϳª¸¦ ¼±ÅÃÇϰųª ¾Æ´Ï¸é Å×ÀÌºí ½ºÄµÀ» ÇÏ´Â Á¤µµ¸¦ Çß¾ú´Ù. SQL ¼­¹ö´Â JOIN ¿¬»êÀ» ¿ÀÁ÷ ÇϳªÀÇ ¹æ¹ýÀ¸·Î¸¸ ó¸® ÇÒ ¼ö ÀÖ¾ú±â ¶§¹®¿¡ ÃÖÀûÈ­±â´Â Á¶ÀεǴ Å×À̺íÀÇ ¼ø¼­¸¸ Á¤ÇÏ¸é µÇ¾ú´Ù. ¶ÇÇÑ SQL ¼­¹ö´Â GROUP BY¿Í DISTINCT Äõ¸®¸¦ ¿ÀÁ÷ ÇϳªÀÇ ¹æ¹ýÀ¸·Î¸¸ ó¸®ÇÒ ¼ö ÀÖ¾úÀ¸¸ç, Äõ¸®´Â ´ÙÁß ÇÁ·Î¼¼¼­¿¡¼­ ó¸®µÉ ¼ö ¾ø¾ú´Ù. SQL ¼­¹ö 6.5ÀÇ ÃÖÀûÈ­±â¿Í ±× ÀÌÀü ¹öÀüµéÀº ¸Å¿ì ºÐ¸íÇÏ°í Á÷°üÀûÀ̾, Çѹø ±×°ÍÀÌ µ¿ÀÛÇÏ´Â ¹æ½Ä°ú SQL ¼­¹ö°¡ À妽º¸¦ »ç¿ëÇÏ´Â ¹æ½ÄÀ» ÀÌÇØÇϱ⸸ Çϸé, ½ÉÁö¾î Äõ¸®¸¦ ¼öÇàÇϱ⵵ Àü¿¡ ¾î¶² ½ÇÇà °èȹÀÌ ³ª¿ÃÁö °ÅÀÇ Á¤È®ÇÏ°Ô ¿¹ÃøÇØ ³¾ ¼ö ÀÖ´Ù. ¸¸¾à ÃÖÀûÈ­±â°¡ »ý°¢Çس½ Äõ¸® Ç÷£°ú ´Ù¸¥ Ç÷£À» ¸¸µé¾î ³Â´Ù¸é ¸î °³ÀÇ ÃßÀû Ç÷¡±×¸¦ ¼³Á¤ÇÏ¿© ÃÖÀûÈ­±â°¡ °èȹÀ» ¸¸µé¾î ³»±â À§ÇØ ¹â´Â ´Ü°è¿Í ÃÖÀûÈ­±â°¡ °í·ÁÇÏ´Â ¸ðµç °èȹµéÀ» »ìÆì º¼ ¼ö ÀÖ´Ù. »Ó¸¸ ¾Æ´Ï¶ó, ÃÖÀûÈ­±â´Â ¾ÆÁÖ ÀÛÀº ¼±Åñǹۿ¡ ¾øÀ¸¹Ç·Î ±×°ÍÀÌ ÃÖÀûÀÇ °áÁ¤À» ³»¸®Áö ¸øÇß´Ù¸é ¸¶ÀÌÅ©·Î¼ÒÇÁ´Â À̸¦ ¹ö±×·Î °£ÁÖÇß´Ù. ±×·± °á°ú·Î ÃÖÀûÈ­±âÀÇ °áÁ¤Àº Ç×»ó ÃÖ»óÀÇ °áÁ¤À̶ó´Â °ÍÀ» ³»ÀçÀûÀ¸·Î º¸Àå¹Þ°Ô µÈ´Ù. SQL ¼­¹ö 7.0À» À§Çؼ­ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â ÃÖÀûÈ­±â¸¦ ¿ÏÀüÈ÷ »õ·Î ÀÛ¼ºÇß°í, ¸¹Àº Äõ¸® ó¸® ±â¼úÀ» Àû¿ëÇß´Ù. »õ·Î¿î ÃÖÀûÈ­±â´Â ¿ÏÀüÈ÷ ¸ðµâÈ­ µÇ¾î ÀÖÀ¸¸ç, ±×·¡¼­ ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® °³¹ßÀÚµéÀº Á¦Ç°¿¡ »õ·Î¿î ó¸® ±â¼úÀ» Ãß°¡Çß°í, ¾î¶² ½ÇÇà °èȹ¿¡¼­µµ »õ·Î¿î ±â¼úÀÌ Àû¿ëµÉ ¼ö ÀÖµµ·Ï ½±°Ô ¼öÁ¤ÇÒ ¼ö ÀÖ¾ú´Ù. SQL ¼­¹ö 7.0°ú ±× ÀÌÈÄÀÇ Äõ¸® ÃÖÀûÈ­±â´Â ±× ¾ÕÀÇ °Íµé¿¡ ºñÇØ ¸Å¿ì °Å´ëÇÏ°Ô º¹ÀâÇØÁ³´Ù. SQL ¼­¹ö´Â ¸¹Àº Äõ¸®¸¦ À§Çؼ­ ¸Å¿ì ´Ù¸¥ ó¸® Àü·«À» °¡Áö°í ÀÖÀ¸¸ç ±×·¡¼­ ÃÖÀûÈ­±â°¡ ¾î¶² °èȹÀ» ¸¸µé¾î ³¾Áö ¿¹»óÇØ ³»´Â °ÍÀÌ °ÅÀÇ ºÒ°¡´ÉÇÏ´Ù. À̵éÀº ¾Õ¼± ¹öÀüÀÌ Á¦°øÇÏ´ø ÃÖÀûÈ­±â°¡ °í·ÁÇÏ´Â °èȹÀ» º¸¿©ÁÖ´Â ÃßÀû Ç÷¡±×µµ ¾ø´Ù. ÀÌ°ÍÀº ¾Æ¸¶µµ °¢°¢ÀÇ Ç÷£À» ¸¸µé¾î ³»±â À§ÇØ ¼ö¹é¿¡¼­ ¼öõÀÇ ´Ü°è¸¦ ¹â±â ¶§¹®¿¡ ÃßÀû Ç÷¡±×¸¦ »ç¿ëÇؼ­ º¸¿©ÁÙ °á°ú°¡ Áö³ªÄ¡°Ô º¹ÀâÇϱ⠶§¹®ÀÏ °ÍÀÌ´Ù. º¸Áõ ¸øÇÔ ÀÌ¹Ì ¾ð±ÞÇÑ °Íó·³ SQL ¼­¹ö 7.0 ÀÌÀü¿¡´Â ¸¸¾à ÃÖÀûÈ­±â°¡ ÇÊ¿ä·Î ÇÏ´Â ¸ðµç Á¤º¸°¡ Á¦°øµÇ¾ú´Ù¸é ÃÖÀûÈ­±â´Â Á¦ÃâµÈ Äõ¸®¿¡ ´ëÇÑ ÃÖÀûÀÇ °áÁ¤À» ³»¸°´Ù°í º¸ÀåÇÒ ¼ö ÀÖ¾ú´Ù. ÇÁ·Î±×·¡¸Ó·Î¼­ ¸¸¾à Äõ¸® ¼º´ÉÀ» º¸´Ù ³´°Ô ÇÒ ¼ö ÀÖ´Â Äõ¸® ÈùÆ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ¾ú´Ù¸é, ±×°ÍÀº ÃÖÀûÈ­±â°¡ °¡Àå ÃÖ»óÀÇ Ç÷£À» ¸¸µé¾î ³»Áö ¸øÇßÀ½À» ÀǹÌÇϸç, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â Á¾Á¾ À̸¦ ¹ö±×·Î °£ÁÖÇÏ°ï Çß´Ù. SQL ¼­¹ö 2000°ú 7.0Àº ÀÌÁ¦ ¸í½ÃÀûÀ¸·Îµç ¹¬½ÃÀûÀ¸·Îµç ÀÌ·± º¸ÀåÀ» ´õ ÀÌ»ó ÇÏÁö ¾Ê´Â´Ù. ÀÌµé ¹öÀü¿¡¼­´Â ÃÖÀûÈ­±âÀÇ ¸ñÇ¥´Â ¡°±× Á¤µµ¸é ÃæºÐÇÑ¡± Ç÷£À» ã¾Æ³»´Â °ÍÀÌ´Ù. ´ëºÎºÐÀÇ °æ¿ì ÀÌ Ç÷£Àº ÃÖÀûÀÌÁö¸¸ Ç×»ó ±×·± °ÍÀº ¾Æ´Ï´Ù. ÇöÀçÀÇ ÃÖÀûÈ­±â°¡ ó¸®ÇÏ´Â ¹æ½ÄÀº ¼øȯ ¹æ½ÄÀ¸·Î¼­ Çѹø »çÀÌŬÀ» µ¹ ¶§¸¶´Ù º¸´Ù º¹ÀâÇÑ Ç÷£À» ¸¸µé¾î ³½´Ù. ¿¹¸¦ µé¾î ù ¹ø° ¹Ýº¹¿¡¼­ °¢ Å×À̺íÀÇ Å¬·¯½ºÅÍ À妽º¸¦ »ç¿ëÇÑ ´Ü¼ø ·çÇÁ Á¶ÀÎÀÇ ºñ¿ëÀ» Æò°¡ÇØ º»´Ù. ¸¸¾à ÀÌ ¹æ¹ýÀÌ ÁÁÀº Ç÷£À» ¸¸µé¾î ³»Áö ¸øÇÑ´Ù¸é ÃÖÀûÈ­±â´Â ³ÍŬ·¯½ºÅÍ À妽º¸¦ Æò°¡ÇÏ°í, ´Ù½Ã ´Ù¸¥ Á¶ÀÎÀÇ ¹æ¹ýÀ» Æò°¡ÇÏ°í, ±×·¡µµ ¾ÈµÇ¸é ´Ù½Ã ¿©·¯ °³ÀÇ À妽º¸¦ Æò°¡ÇØ º»´Ù. ÃÖÀûÈ­±â°¡ Á¡ÁøÀûÀ¸·Î º¹ÀâÇÑ Ç÷£À» Æò°¡Çϱ⠶§¹®¿¡ Áö±Ý±îÁö ã¾Æ³½ °ÍÀÇ ºñ¿ë¿¡ ´ëÇØ »õ·Î¿î °ÍÀ» ã´Â ºñ¿ëÀÌ ¾ó¸¶³ª À̵æÀÌ ÀÖ´ÂÁö¸¦ °è¼ÓÀûÀ¸·Î Æò°¡ÇØ º»´Ù. ¿¹¸¦ µé¾î, ÃÖÀûÈ­±â°¡ ½ÇÇàÇÏ´Â µ¥ 30ms °É¸®´Â Ç÷£À» Çϳª ã¾Ò°í, À̶§ 1ms°¡ °É¸°´Ù°í °¡Á¤Çغ¸ÀÚ. ±×¸®°í ÃÖÀûÈ­±â°¡ 25ms °É¸®´Â Ç÷£À» Çϳª ´õ ã¾Æ³Â´Ù°í Çغ¸ÀÚ. ÇÏÁö¸¸ À̸¦ ã´Â µ¥ 2ÃÊ°¡ Ãß°¡·Î °É¸°´Ù°í Çغ¸ÀÚ. SQL ¼­¹ö´Â ´õ ÀÌ»óÀÇ Ç÷£À» ã¾Æ³»´Â °ÍÀÌ À̵æÀÌ ¾ø´Ù°í ÆÇ´ÜÇÏ°Ô µÈ´Ù. ±×·¡¼­ ÃÖÀûÈ­±â´Â 30ms °É¸®´Â Ç÷£À» »ç¿ëÇÏ°Ô µÇ´Âµ¥, ÀÌ°ÍÀÌ ¡°±× Á¤µµ¸é ÃæºÐÇÑ¡± °ÍÀÌ´Ù. ¸¸¾à Ç÷£ÀÌ ¡°±× Á¤µµ¸é ÃæºÐ¡±ÇÏÁö ¾Ê´Ù°í »ý°¢ÇÑ´Ù¸é Äõ¸®¸¦ ÈùÆ®¸¦ »ç¿ëÇÏ¿© ¼öÁ¤ÇÏ´Â °Íµµ »ý°¢ÇØ º¼ ¼ö ÀÖ´Ù. ÈùÆ®¸¦ »ç¿ëÇؼ­ SQL ¼­¹ö°¡ °­Á¦ÀûÀ¸·Î ƯÁ¤ÇÑ À妽º¸¦ »ç¿ëÇϵµ·Ï ȤÀº ƯÁ¤ÇÑ Á¶ÀÎ ¹æ¹ýÀ» »ç¿ëÇϵµ·Ï ÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ ÅëÇؼ­ 25ms·Î ½ÇÇà½Ã°£À» ´ÜÃà½Ãų ¼öµµ ÀÖÀ» °ÍÀÌ´Ù. Áß¿äÇÑ °ÍÀº ÀÌÁ¦ ÃÖÀûÈ­±â°¡ ´õ ºü¸¥ Ç÷£À» ã¾Æ³»Áö ¸øÇÏ´Â °ÍÀÌ ¹ö±×°¡ ¾Æ´Ï¶ó ÇϳªÀÇ ¼±ÅÃÀÏ »ÓÀ̶ó´Â »ç½ÇÀÌ´Ù. ´õ ³ªÀº Ç÷£À» ã±â À§Çؼ­ ÃÖÀûÈ­±â°¡ °è¼ÓÀûÀ¸·Î ÀÏÇÏ´Â °ÍÀ» ÁߴܽÃŲ SQL ¼­¹öÀÇ ¼±ÅÃÀÇ °á°úÀÏ »ÓÀÌ´Ù. ±×¸®°í ¶ÇÇÑ µ¶ÀÚµµ ¼±ÅñÇÀÌ ÀÖ´Ù. ÈùÆ®¸¦ »ç¿ëÇؼ­ 5ms ÀÇ ¼º´É À̵æÀ» ¾òÀ» °ÍÀÎÁö ¸» °ÍÀÎÁö¸¦ ¼±ÅÃÇÒ ¼ö ÀÖ´Ù. ÈùÆ®¸¦ »ç¿ëÇÒ °ÍÀΰ¡? ³ª´Â SQL ¼­¹ö Äõ¸®¸¦ ÀÛ¼ºÇÒ ¶§ »ç¿ëÇÒ ¼ö ÀÖ´Â ¸ðµç ÈùÆ®¿¡ ´ëÇØ ÀǵµÀûÀ¸·Î ¿ÏÀüÇÏ°Ô ¼³¸íÇÏÁö´Â ¾ÊÀ» °ÍÀÌ´Ù. ¸ðµç Äõ¸® ÈùÆ®°¡ ÃÖÀûÈ­±â°¡ Ç÷£À» ¼±ÅÃÇÒ ¶§¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â °ÍÀº ¾Æ´Ï´Ù. ÀϺΠÄõ¸® ÈùÆ®´Â SQL ¼­¹ö Äõ¸®¸¦ ½ÇÇàÇÒ ¶§ÀÇ Àá±Ý¿¡ ¿µÇâÀ» ³¢Ä¡¸ç, À̵鿡 ´ëÇÑ ³íÀÇ´Â ¿©±â¼­ ´Ù·ç±â¿¡ ºÎÀûÀýÇÏ´Ù. ±×·¯³ª ³ª´Â µ¶ÀÚµéÀÌ ÈùÆ®¿¡ ´ëÇÑ ¸î °¡Áö Áß¿äÇÑ »ó¼¼ ³»¿ëÀ» ¾Ë°í Àֱ⸦ ¿øÇÑ´Ù. ù°·Î, ÈùÆ®´Â ½ÇÁ¦·Î ¿ì¸®°¡ ¾Æ´Â °Í°ú °°Àº ÈùÆ®°¡ ¾Æ´Ï¶ó´Â °ÍÀÌ´Ù. ¿µ¾î·Î ÈùÆ®´Â ¡°ºÎµå·¯¿î Á¦¾È¡±ÀÇ Àǹ̸¦ °¡Áö°í ÀÖÁö¸¸, SQL ¼­¹öÀÇ ¿ë¾î·Î ÈùÆ®´Â ¡°¸í·É¡±¿¡ °¡±õ´Ù. ÀÌ ¸í·ÉÀÌ ¹°¸®Àû ȤÀº ³í¸®ÀûÀ¸·Î ºÒ°¡´ÉÇÏÁö ¾Ê´Ù¸é SQL ¼­¹ö´Â µ¶ÀÚµéÀÌ Á¦½ÃÇÏ´Â ¾î¶² ÈùÆ®¿¡µµ ¡°¼øÁ¾¡±ÇÑ´Ù. ¶ÇÇÑ ¿À´Ã ÀÌ ÈùÆ®¸¦ ½á¼­ º¸´Ù ³ªÀº ¼º´ÉÀ» ¾ò¾ú´Ù°í ÇÒ Áö¶óµµ ³»ÀÏÀº ±×°ÍÀÌ ¿ÀÈ÷·Á ¼º´ÉÀ» ÀúÇϽÃų ¼öµµ ÀÖ´Ù´Â °ÍÀÌ´Ù. ÀÏ´Ü ÇÑ ¹ø Äõ¸®¸¦ ¾î¶»°Ô ó¸®ÇÒ °ÍÀÎÁö SQL ¼­¹ö¿¡°Ô ÈùÆ®·Î Á¦½ÃÇß´Ù¸é ¹ÏÀ» ¼ö ¾øÀÌ º¹ÀâÇÑ SQL ¼­¹öÀÇ Äõ¸® ÃÖÀûÈ­±âÀÇ ¿©·¯ ÀåÁ¡µéÀ» ÀÒ¾î¹ö¸®´Â °ÍÀÌ´Ù. ¾÷µ¥ÀÌÆ®³ª ¹èÄ¡ ÀÛ¾÷ÀÇ °á°ú·Î µ¥ÀÌÅÍ ºÐÆ÷µµ¿¡ º¯È­°¡ »ý°åÀ» ¶§, ÁÖ¾îÁø ÈùÆ®´Â ´õ ÀÌ»ó ÃÖÀûÀÇ ¹æ¹ýÀÌ ¾Æ´Ò ¼ö ÀÖÁö¸¸, ÃÖÀûÈ­±â´Â ´õ ³ªÀº Ç÷£À» À§Çؼ­ ÈùÆ®¸¦ ¹ö¸®Áö ¸øÇÏ°Ô µÈ´Ù. ½ÇÁ¦·Î ¼öÇàÇϱâ Äõ¸® ÃÖÀûÈ­±â°¡ °áÁ¤À» ³»¸± ¶§ °¡Àå Áß¿äÇÑ °ÍÀº ó¸®ÇÏ°íÀÚ ÇÏ´Â µ¥ÀÌÅÍ¿¡ ´ëÇÑ Á¤È®ÇÏ°í ÃÖ½ÅÀÇ °ÍÀ¸·Î °»½ÅµÈ Åë°è Á¤º¸ÀÌ´Ù. ºñ·Ï SQL ¼­¹ö°¡ Åë°è¸¦ ÃßÀûÇÏ´Â ¹æ¹ýÀº ¼ö³â°£ º¯°æµÇ±ä ÇßÁö¸¸ ±×°ÍÀÇ ±Ùº» »ç»óÀº µ¿ÀÏÇÏ´Ù. Åë°è´Â ÃÖÀûÈ­±â¿¡°Ô À妽º°¡ À¯¿ëÇÑÁö ¾Æ´ÑÁö¿¡ ´ëÇØ ±Ù°Å ÀÖ´Â ¿¹Ãø°ªÀ» ¸¸µé¾îÁÖ°Ô µÈ´Ù. ¿¹¸¦ µé¾î µ¶ÀÚµéÀº ¾Æ¸¶µµ SQL ¼­¹öÀÇ ³ÍŬ·¯½ºÅÍ À妽º(Å×À̺íÀÇ ¸ðµç Çà¿¡ ´ëÇØ ºÏ¸¶Å©¶ó°í ºÒ¸®´Â Æ÷ÀÎÅ͸¦ ¸®ÇÁ·¹º§¿¡ °¡Áö°í ÀÖ´Â)ÀÇ ±âº» ±¸Á¶¿¡ ´ëÇØ Ä£¼÷ÇÒ °ÍÀÌ´Ù. Lastname Ä÷³¿¡ ´ëÇؼ­ ³ÍŬ·¯½ºÅÍ À妽º¸¦ °¡Áö°í ÀÖ´Ù°í °¡Á¤ÇØ º¸ÀÚ. Å×ÀÌºí¿¡ ÀÖ´Â ¸ðµç lastname °ªÀº Áߺ¹µÈ °ªÀ» Æ÷ÇÔÇؼ­ ¸ðµÎ À妽º ¸®ÇÁ ·¹º§¿¡ ³ªÅ¸³ª¸ç, ½ÇÁ¦ Å×ÀÌºí¿¡¼­ ÇàÀÌ Á¸ÀçÇÏ´Â À§Ä¡¸¦ °¡¸®Å°°Ô µÈ´Ù. ¸®ÇÁ·¹º§¿¡¼­ÀÇ lastnameÀº Á¤·ÄµÇ¾î ÀÖ°í, ±×·¡¼­ Mc·Î ½ÃÀÛÇÏ´Â °ÍÀº ¸ðµÎ ºñ½ÁÇÑ À§Ä¡¿¡ ÀÖ°Ô µÈ´Ù. ±×·¯³ª ½ÇÁ¦ Å×À̺íÀÇ µ¥ÀÌÅÍ´Â ¼­·Î ´Ù¸¥ ÆäÀÌÁö¿¡ Á¸ÀçÇÏ°Ô µÇ¸ç, ¼ö½Ê¿© °³ ÆäÀÌÁö¿¡ °ÉÃÄ Á¸ÀçÇÒ ¼öµµ ÀÖ´Ù. µû¶ó¼­ ¸ðµç Mc·Î ½ÃÀÛÇÏ´Â À̸§À» ã´Â Äõ¸®´Â ´ÙÀ½°ú °°À» °ÍÀÌ´Ù. SELECT lastname, firstname, address, phone FROM PeopleTable WHERE lastname LIKE 'Mc%' ÀϹÝÀûÀ¸·Î ³ÍŬ·¯½ºÅÍ À妽º´Â À妽º¸¦ ÅëÇؼ­ ¾ÆÁÖ ÀûÀº ¾çÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¶§¸¸ À¯¿ëÇÏ´Ù. ¸¸¾à ¸¹Àº ÇàÀ» ¾×¼¼½ºÇØ¾ß ÇÑ´Ù¸é Àüü Å×ÀÌºí ½ºÄµÀ» ÇÏ´Â °ÍÀÌ SQL ¼­¹ö°¡ ¸ðµç ºÏ¸¶Å© Æ÷ÀÎÅ͸¦ µû¶ó´Ù´Ï´Â °Íº¸´Ù È¿À²ÀûÀÏ ¼ö ÀÖ´Ù. ±×·³ ¾ó¸¶³ª ¸¹Àº ÇàÀÌ ¡°¸¹Àº¡± Ãà¿¡ ³¢´Â °ÍÀϱî? ±×°ÍÀº Å×À̺íÀÇ Å©±â, °¡Á®¿À·Á´Â ÇàÀÇ ºñÀ², ÇÑ ÆäÀÌÁö¿¡ µé¾î°¡´Â ÇàÀÇ ¼ö µî ¸¹Àº ¿äÀÎÀ¸·Î °áÁ¤µÈ´Ù. ³ª´Â Äõ¸®°¡ Å×À̺íÀÇ Çà Áß¿¡¼­ 1%º¸´Ù ÀûÀº ¾çÀÇ µ¥ÀÌÅ͸¦ °¡Á®¿Ã ¶§¸¸ SQL ¼­¹ö°¡ ³ÍŬ·¯½ºÅÍ À妽º¸¦ »ç¿ëÇÏ¿© ±× À§Ä¡¸¦ ã´Â µ¥ µµ¿òÀ» ¹Þ´Â´Ù´Â °ÍÀ» ¹ß°ßÇÏ¿´´Ù. ¹°·Ð ÀÌ°ÍÀº ´ë·«ÀÇ °ªÀÌ´Ù. ¸ðµç Äõ¸®¿Í À妽º´Â ÀڽŸ¸ÀÇ ÀÓ°è°ªÀÌ ÀÖ´Ù(À妽ºÀÇ »ç¿ë¿¡ ´ëÇØ º¸´Ù ÀÚ¼¼È÷ ¾Ë°í ½Í´Ù¸é 2001³â 8¿ùÈ£ ¡°Are You in Tune?" InstantDoc ID 21038¸¦ ÂüÁ¶ÇÏÀÚ). ±×·¸´Ù¸é Äõ¸®°¡ ½ÇÇàµÇ±âµµ Àü¿¡ ¾î¶»°Ô SQL ¼­¹ö´Â Mc·Î ½ÃÀ۵Ǵ À̸§ÀÌ ¸¹ÀºÁö ÀûÀºÁö ¾Ë ¼ö ÀÖ´Â °É±î? ´äÀº À妽º Åë°è¸¦ Á¶»çÇؼ­ ÃßÁ¤ °ªÀ» ¾ò¾î³»±â ¶§¹®ÀÌ´Ù. ÀÌ¹Ì ¾ð±ÞÇÑ ¹Ù¿Í °°ÀÌ, Åë°è ÆäÀÌÁöÀÇ Çü½ÄÀº SQL ¼­¹ö 7.0¿¡¼­ ¿ÏÀüÈ÷ º¯Çß°í ´Ù½Ã ¶Ç SQL ¼­¹ö 2000¿¡¼­ º¯Çß´Ù. SQL ¼­¹ö 2000ÀÌ ¾î¶»°Ô Åë°è¸¦ ÀúÀåÇÏ´ÂÁö¿¡ ´ëÇØ ¾Ë°í ½Í´Ù¸é ¸¶ÀÌÅ©·Î¼ÒÇÁÆ® ±â¼ú ¹é¼­(white paper) "Statistics Used by the Query Optimizer in Microsoft SQL Server 2000" http://msdn.microsoft.com/library /default.asp?url=/library/techart/statquery .htmÀ» »ìÆ캸µµ·Ï ÇÏÀÚ. 2001³â 11¿ùÈ£ ÇÊÀÚÀÇ ±Û "Åë°èÀûÀ¸·Î ¸»Çϱâ(Statistically Speaking," InstantDoc ID 22075)¿¡µµ SQL ¼­¹ö°¡ ¾î¶»°Ô À妽º Åë°è¸¦ ÀÌ¿ëÇÏ´ÂÁö¸¦ ´Ù·ç°í ÀÖ´Ù. DBAµé¿¡°Ô SQL ¼­¹ö 7.0¿¡¼­ °¡Àå ȯ¿µ ¹Þ¾Ò´ø ±â´ÉÀº Åë°è ÀÚµ¿ ¾÷µ¥ÀÌÆ®¿´´Ù. SQL ¼­¹ö 7.0 ÀÌÀü¿¡ DBAµéÀº µ¥ÀÌÅÍ·®ÀÇ º¯È­°¡ »ý±â°Å³ª Åë°è°¡ º¯°æµÈ ¶§¸¶´Ù Åë°è ¾÷µ¥ÀÌÆ®¸¦ ÀØÁö ¸»¾Æ¾ß Çß´Ù. ¿¹¸¦ µé¾î Áö³­ ÁÖ°£ 6¸í Á¤µµÀÇ ¾ÆÄ­¼ÒÁÖ¿¡ »ç´Â °í°´ÀÌ ÀÖ¾ú°í, ÀÌ ÁÖ¿¡ »ç´Â °í°´À» ã´Â Äõ¸®¸¦ ¼öÇàÇÑ´Ù°í Çغ¸ÀÚ. ÀÌ °æ¿ì´Â state Ä÷³ÀÇ ³Í Ŭ·¯½ºÅÍ À妽º°¡ µµ¿òÀÌ µÉ °ÍÀÌ´Ù. ÇÏÁö¸¸ À̹ø ÁÖ¿¡ ¾ÆÄ­¼Ò¿¡ ±Ù°Å¸¦ µÐ µÎ °³ÀÇ È¸»ç¸¦ ¾ò¾ú°í °Å±â¿¡ ¼öõ ¸íÀÇ °í°´ÀÌ ÀÖ´Ù°í °¡Á¤Çغ¸ÀÚ. ÀÌÁ¦´Â Áö³­ÁÖ¿¡ »ç¿ëÇÏ´ø À妽º¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀº ÃÖ¾ÇÀÇ ¼º´ÉÀ» °¡Á®¿À°Ô µÈ´Ù. SQL ¼­¹ö 6.5ÀÇ ÃÖÀûÈ­±â´Â ¼öµ¿À¸·Î Åë°è ÆäÀÌÁö¸¦ ¾÷µ¥ÀÌÆ®ÇÏÁö ¾ÊÀ¸¸é ¾ÆÄ­¼ÒÁÖÀÇ »õ·Î¿î °í°´¿¡ ´ëÇØ ¾ËÁö ¸øÇÏ´ø. ´õ¿íÀÌ µ¥ÀÌÅͺ£À̽º ³»ÀÇ ¸ðµç Åë°è ÆäÀÌÁö¸¦ ¾÷µ¥ÀÌÆ®ÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ ¾ø¾ú´Ù. UPDATE STATISTICS ¸í·ÉÀº ¿ÀÁ÷ ÇÑ Å×ÀÌºí¿¡ ´ëÇؼ­¸¸ ¼öÇàµÉ ¼ö ÀÖ°í, µû¶ó¼­ ÁÖ±âÀûÀ¸·Î ¸ðµç Å×À̺íÀÇ Åë°è¸¦ ¾÷µ¥ÀÌÆ®Çϱ⸦ ¿øÇÑ´Ù¸é µ¥ÀÌÅͺ£À̽º ¾È¿¡ ÀÖ´Â ¸ðµç Å×À̺íÀ» ¾×¼¼½ºÇؼ­ Åë°è¸¦ °»½ÅÇÏ´Â ÇÁ·Î½ÃÀú¸¦ ½º½º·Î ÀÛ¼ºÇØ¾ß Çß´Ù. SQL ¼­¹ö 2000°ú 7.0Àº auto update statistics¶ó´Â ¿É¼ÇÀ» ¼³Á¤ÇØ ³õ±â¸¸ Çϸé ÀÌ°ÍÀÌ ÀÚµ¿À¸·Î µÇ¸ç, ±âº»ÀûÀ¸·Î ÀÌ°ÍÀº TRUE·Î ¼³Á¤µÇ¾î ÀÖ´Ù. ³»ºÎÀûÀ¸·Î Á¤ÇØÁø ºñÀ²ÀÇ º¯È­°¡ À妽º¿¡ »ý±â¸é ÃÖÀûÈ­±â´Â ÃÖÀûÈ­µÈ °èȹÀ» °áÁ¤Çϱâ Àü¿¡ Åë°è¸¦ ¸ÕÀú ¾÷µ¥ÀÌÆ® ÇÑ´Ù. »Ó¸¸ ¾Æ´Ï¶ó SQL ¼­¹ö 2000°ú 7.0Àº sp_updatestats¶ó´Â ÇÁ·Î½ÃÀú¸¦ °¡Áö°í ÀÖÀ¸¸ç, ÀÌ°ÍÀº ÇöÀç µ¥ÀÌÅͺ£À̽º¿¡ ÀÖ´Â ¸ðµç À妽ºÀÇ Åë°è¸¦ °»½ÅÇÑ´Ù. ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â SQL ¼­¹ö 7.0¿¡¼­ ÀÌ¿Í ¿¬°üµÈ »ç¾çÀ¸·Î¼­ °³°³ÀÇ À妽º¸¦ ÀÚµ¿ Åë°è ¾÷µ¥ÀÌÆ®¿¡¼­ Á¦¿Ü½Ãų ¼ö ÀÖ°Ô Çß´Ù. °¢°¢ÀÇ À妽º¿¡ ´ëÇؼ­ WITH NORECOMPUTE ¿É¼ÇÀ» UPDATE STATISTICS ¸í·É°ú ÇÔ²² »ç¿ëÇÏ¸é µ¥ÀÌÅͺ£À̽º¿¡¼­ auto update statistics ¿É¼ÇÀ» ¼³Á¤ÇÑ °Íº¸´Ù ¿ì¼±µÇ°Ô µÈ´Ù. ÀÌ ¿É¼ÇÀº À妽º-Åë°è ¾÷µ¥ÀÌÆ®¿¡ ´ëÇÑ ¸ðµç ÃÖÁ¾ Á¦¾î¸¦ ÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ÃÖÀûÈ­±â°¡ ÀÏ ÇÒ ¼ö ÀÖ°Ô ÇÏÀÚ ÃÖÀûÈ­±â´Â ÀÌÁ¦ ³Ê¹«³ª ¸ðµâÈ­µÇ°í °³¼±Çϱ⠽±°Ô µÇ¾î¼­, ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®´Â README ÆÄÀÏ¿¡ ¾ð±Þµµ ÇÏÁö ¾ÊÀº ä ¼­ºñ½º ÆÑ¿¡¼­ ÀÚÁÖ Äõ¸® ó¸® ±â¼úÀ» Ãß°¡ÇÏ°ï ÇÑ´Ù. ´ëºÎºÐÀÇ »ç¶÷µé¿¡°Ô ÀÌ°ÍÀº ¹®Á¦°¡ µÇÁö ¾Ê´Â´Ù. ¸¸¾à SQL ¼­¹ö¿¡ »õ·Î¿î ¼­ºñ½º ÆÑÀ» Ãß°¡ÇÏ°í ³ª¼­ º¸´Ù ³ªÀº ¼º´ÉÀ» ¾ò´Â´Ù¸é ´ëºÎºÐÀÇ »ç¶÷µéÀº ºÒÆòÇÏÁö ¾ÊÀ» °ÍÀÌ´Ù. ±×·¯³ª ÃÖÀûÈ­±â¿Í ´Ù¾çÇÑ Äõ¸® ó¸® ±â¼ú¿¡ ´ëÇØ ±ÛÀ» ¾²°í °­¿¬À» ÇÏ´Â ³ª¿Í °°Àº ÀϺκÐÀÇ »ç¶÷µé¿¡°Ô ±×°ÍÀº ³»°¡ § ¸ðµç µ¥¸ð ½ºÅ©¸³Æ®¿Í »ùÇà ÆÄÀÏÀ» ¼­ºñ½º ÆÑ Àû¿ë ÈÄ¿¡ ¸ðµÎ ´Ù½Ã Å×½ºÆ®ÇØ º¸¾Æ¼­ ¿ø·¡ ÀǵµÇß´ø °Í°ú °°ÀºÁö¸¦ Á¡°ËÇØ º¸¾Æ¾ß ÇÑ´Ù´Â ÀǹÌÀÌ´Ù. ³ª´Â ¸Å¹ø ÀÌ »ç½ÇÀ» ±â¾ïÇÏÁö ¸øÇϸç ÇÑ ¹ø ÀÌ»ó ûÁß ¾Õ¿¡¼­ °­¿¬ µµÁß ³î¶ó´Â ÀÏÀ» °Þ°ïÇß´Ù. ´ÙÀ½ ´Þ¿¡ ³ª´Â ³ª¸¦ ´çȤÇÏ°Ô Çß´ø ÃÖÀûÈ­±âÀÇ º¯È­¿¡ ´ëÇؼ­ ¾ð±ÞÇÏ°íÀÚ ÇÑ´Ù. ¶ÇÇÑ SQL ¼­¹ö¿¡¼­ ÀÌ·± ÀåÁ¡ ȤÀº ´Ù¸¥ Çâ»óÀ¸·Î ÀÎÇØ ¾ò°Ô µÇ´Â Äõ¸®ÀÇ ¿¹¸¦ º¸¿©ÁÙ °ÍÀÌ´Ù. *Ãâó : SQL ¸Å°ÅÁø 11¿ùÈ£