|
¡Ø ¾Ë·Áµå¸³´Ï´Ù.¹ßÇàÀÏ : 2021-11-15
Ã¥¼Ò°³ÀÌ Ã¥ÀÌ ¼ÓÇÑ ºÐ¾ßSQL °³¹ß°ú ¿î¿ë ¾÷¹«ÀÇ È¿À²È, Æ®·¯ºí½´Æÿ¡ µµ¿ò! ½ºÅ׵𼿷¯ ¡¸±×¸²À¸·Î ÀÌÇØÇÏ´Â SQL ¼¹öÀÇ ³»ºÎ ±¸Á¶¡¹(2009³â 3¿ù 2ÀÏ Ãâ°£)¸¦ ¿À·£¸¸¿¡ Àü¸é °³Á¤ÇÑ Ã¥ÀÌ´Ù. ÀüÀÛÀ» Åä´ë·Î ÇöÀçÀÇ SQL ¼¹ö ¾ÆÅ°ÅØó¸¦ µû¶ó ¹è¿ì°íÀÚ ¼³¸í°ú ±×¸² Àüü¸¦ Àü¸é ¼öÁ¤ÇßÀ» »Ó ¾Æ´Ï¶ó Ä®·³½ºÅä¾î/Àθ޸ð¸®Çü ¿ÀºêÁ§Æ®, Paas/Iaas °¢Á¾ Ŭ¶ó¿ìµå µ¥ÀÌÅÍ Ç÷§ÆûÀÇ Çؼ³ µîÀ» Ãß°¡ÇÏ¿© ¹°¸®Àû ±¸Á¶¿Í ³»ºÎ µ¿ÀÛÀ¸·Î ÀÌÇØÇÔÀ¸·Î½á SQL¼¹öÀÇ ±â¼úÀû Ư¼ºÀ» ÃæºÐÈ÷ È°¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î ÇöÀå¿¡¼ÀÇ µ¥ÀÌÅͺ£À̽º °³¹ß ¹× ¿î¿ë¾÷¹«ÀÇ È¿À²È³ª Æ®·¯ºí½´Æÿ¡ µµ¿òÀÌ µÇµµ·Ï Çß´Ù. ÀúÀÚÀÇ SQL¼¹ö Áö¿ø ¾÷¹« °æÇèµµ ±×´ë·Î »ì·Á ÁýÇʵǾî SQL¼¹öÀÇ ½ÇõÀû ÆÁÀ̳ª ³ëÇÏ¿ìÁýÀ¸·Îµµ È°¿ëÇÒ ¼ö ÀÖ´Ù. º»¹®Àº Å©°Ô 5°¡Áö Å׸¶, Áï ‘¿ÜºÎ ÄÄÆ÷³ÍÆ®ÀÇ ÀÌÇØ’, ‘´Ù¾çÇÑ µ¥ÀÌÅÍÀÇ ±¸Á¶’, ‘³»ºÎ ÄÄÆ÷³ÍÆ®ÀÇ ÀÌÇØ’, ‘¿î¿ëÀÇ ¾ÈÁ¤È’, ‘ÇâÈÄÀÇ Àü¸Á’À¸·Î ±¸ºÐµÇ¾î ÀÖ´Ù. Ã¥¿¡¼´Â ÀúÀÚ°¡ ¼¹®¿¡¼ ¹àÈù ´ë·Î SQL ¼¹öÀÇ Æí¸®ÇÑ »ç¿ë¹ý(°¡·É ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Â Äõ¸® »ùÇà µî)Àº ¼Ò°³ÇÏÁö ¾Ê¾Ò´Ù. ´ë½Å SQL ¼¹öÀÇ ±âº» ¾ÆÅ°ÅØó¸¦ ü°èÀûÀ¸·Î ¼Ò°³ÇÏ°í °¢Á¾ ³»ºÎ ±â´ÉÀÇ Æ¯¼º°ú µ¿ÀÛÀ» ÇϳªÇϳª ¾Ë±â ½±°Ô ¼Ò°³ÇÏ´Â µ¥ ´õ ÁýÁßÇß´Ù. Æ®·¯ºíÀÇ º»ÁúÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ¸¸é ´«¿¡ º¸ÀÌ´Â Áõ»ó¿¡ ÈֵѸ®Áö ¾Ê°í Á¤È®ÇÑ ´ëó¸¦ °±¸ÇÒ ¼ö ÀÖ´Ù´Â ÀúÀÚÀÇ Àǵµ¸¦ Àß ÀÐÀ» ¼ö ÀÖ´Ù. »ó¼¼À̹ÌÁö¸ñÂ÷µé¾î°¡¸ç ÀÌ Ã¥¿¡ ´ëÇØ ¡¼Á¦1À塽 CPU ¸®¼Ò½ºÀÇ ÃÖÀûÈ 1.1 ¸ÖƼ ½º·¹µå ÇÁ·Î±×·¡¹Ö 1.1.1 ¹®¸Æ ±³È¯ 1.2 À©µµ¿ì ½ºÄÉÁÙ·¯¿Í SQL ¼¹ö 1.2.1 À©µµ ½ºÄÉÁÙ·¯°¡ ÀνÄÇÒ ¼ö ¾ø´Â ´ë±â »óÅ 1.3 SQL ¼¹ö ³»ÀÇ ½ºÄÉÁÙ·¯ 1.3.1 SQLOS ½ºÄÉÁÙ·¯¶õ? 1.3.2 SQLOS ½ºÄÉÁÙ·¯¸¦ ±¸¼ºÇÏ´Â ÄÄÆ÷³ÍÆ® - ½ºÄÉÁÙ·¯ - ÀÛ¾÷ÀÚ - ÀÛ¾÷ÀÚ ½º·¹µå Ç® - ·¯³Êºí Å¥(Runnable Queue) - ¿öÅ© ¸®Äù½ºÆ® Å¥(Work Request Queue) - I/O ¸®Äù½ºÆ® ¸®½ºÆ®(I/O Request List) - ¿þÀÌÅÍ ¸®½ºÆ®(Waiter List) 1.3.3 ½ºÄÉÁÙ·¯ÀÇ µ¿ÀÛ 1.3.4 SQLOS ½ºÄÉÁÙ·¯°¡ »ç¿ëÇÏ´Â ±â¼ú 1.4 SQLOS ½ºÄÉÁÙ·¯¸¦ ¸ð´ÏÅ͸µÇÑ´Ù 1.4.1 µ¿Àû °ü¸® ºäÀÇ ÂüÁ¶ - runnable_tasks_count - current_workers_count - work_queue_count 1.5 Á¦1Àå Á¤¸® ¡¼Á¦2À塽µð½ºÅ© I/O Á¶ÀÛÀÇ ÀÌÇØ 2.1 SQL ¼¹ö°¡ °ü¸®ÇÏ´Â µ¥ÀÌÅͺ£À̽ºÀÇ ½Çü 2.1.1 µ¥ÀÌÅÍ ÆÄÀÏ(È®ÀåÀÚ .mdf, .ndf) 2.1.2 Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ(È®ÀåÀÚ .ldf) 2.2 µ¥ÀÌÅͺ£À̽º ÆÄÀÏ ¾×¼¼½º ÆÐÅÏ 2.2.1 µ¥ÀÌÅÍ ÆÄÀÏ - ¿Â¶óÀÎ Æ®·£Àè¼Ç ó¸®(OLTP) ½Ã½ºÅÛÀÇ °æ¿ì - µ¥ÀÌÅÍ¿þ¾îÇϿ콺(DWH)ÀÇ °æ¿ì 2.2.2 Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ 2.3 SQL ¼¹ö°¡ ¼öÇàÇÏ´Â I/OÀÇ Æ¯Â¡Àû µ¿ÀÛ 2.3.1 ¹Ì¸® Àбâ(Read-Ahead) 2.3.2 üũÆ÷ÀÎÆ®(checkpoint) 2.3.3 ÁýÁß ±â·Ï(Eager Write) 2.3.4 Áö¿¬ ±â·Ï(Lazy Write) 2.4 SQL ¼¹ö°¡ »ç¿ëÇÏ´Â I/O¿ë API 2.4.1 µ¥ÀÌÅÍ ÆÄÀÏ ¹× Æ®·£Àè¼Ç ·Î±× ÆÄÀÏÀÇ ¿ÀÇ - CreaterFile ÇÔ¼ö 2.4.2 µ¥ÀÌÅÍ ÆÄÀÏ ¹× Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ¿¡¼ ÀоîµéÀ̱â - ReadFileScatter ÇÔ¼ö - ReadFile ÇÔ¼ö 2.4.3 µ¥ÀÌÅÍ ÆÄÀÏ ¹× Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ¿¡ ±â·Ï - WriteFileGather ÇÔ¼ö - WriteFile ÇÔ¼ö 2.5 µð½ºÅ© ±¸¼º 2.5.1 RAID 0 2.5.2 RAID 1 2.5.3 RAID 5 2.5.4 RAID 10 2.6 ¸ð´ÏÅ͸µ 2.6.1 ÆÛÆ÷¸Õ½º ¸ð´ÏÅÍ - Avg.Disk sec/Read Ä«¿îÅÍ - Avg.Disk sec/Write Ä«¿îÅÍ 2.6.2 µ¿Àû °ü¸® ºäÀÇ ÂüÁ¶ 2.7 Á¦2Àå Á¤¸® ¡¼Á¦3À塽¸Þ¸ð¸® °ü¸® 3.1 SQL ¼¹ö¿Í °¡»ó ¾îµå·¹½º °ø°£ 3.2 SQL ¼¹ö¿Í °¡»ó ¾îµå·¹½º °ø°£ÀÇ °ü¸® 3.2.1 °¡»ó ¾îµå·¹½º¿Í °ø°£ÀÇ °ü¸® - Committed - Reserved - Free 3.2.2 VirtualAlloc ÇÔ¼ö 3.2.3 ÆäÀÌ¡ 3.3 ¹°¸® ¸Þ¸ð¸® »çÀÌÁî¿Í SQL ¼¹öÀÇ ¸Þ¸ð¸® »ç¿ë·® 3.4 NUMA 3.4.1 SMP ¾ÆÅ°ÅØóÀÇ ¸Þ¸ð¸®¿Í ¹ö½º - ·¹ÀÌÁö ¶óÀÌÅÍ ½º·¹µå - I/O ¿Ï·á Æ÷Æ® ½º·¹µå 3.4.2 ¼ÒÇÁÆ® NUMA 3.5 SQL ¼¹ö ÇÁ·Î¼¼½º ³»ºÎÀÇ ¸Þ¸ð¸® °ü¸® ¹æ¹ý 3.5.1 ¸Þ¸ð¸® ¸Å´ÏÀú 3.5.2 ¿öÅ©½ºÆäÀ̽ºÀÇ ³»ºÎ ±¸Á¶ 3.6 ¸Þ¸ð¸®ÀÇ ¿ëµµ 3.6.1 ¹öÆÛ Ç®(¹öÆÛ Ä³½Ã) 3.6.2 Ç÷£ ij½Ã 3.6.3 Äõ¸® ¿öÅ©½ºÆäÀ̽º 3.6.4 ÃÖÀûÈ 3.6.5 ±Û·Î¹ú 3.6.6 ·¹ÀÌÁö ¶óÀÌÅÍ ½º·¹µå 3.6.7 üũÆ÷ÀÎÆ® ÇÁ·Î¼¼½º 3.7 ¸ð´ÏÅ͸µ 3.7.1 DBCC Ä¿¸Çµå - Memory Manager ¼½¼Ç - Memory node ld=X ¼½¼Ç - ME MORYCLERK_XXXX, CACHESTORE_XXX, USERSTORE_XXX, - OBJECTSTORE_XXX ¼½¼Ç - Procedure Cache ¼½¼Ç 3.7.2 ÆÛÆ÷¸Õ½º ¸ð´ÏÅÍ - ½Ã½ºÅÛ ÀüüÀÇ ¸Þ¸ð¸® »óȲ È®ÀÎ - SQL ¼¹ö ³»ºÎÀÇ ¸Þ¸ð¸® »ç¿ë »óȲ È®ÀÎ 3.7.3 µ¿Àû °ü¸® ºä 3.8 Á¦3Àå Á¤¸® ¡¼Á¦4À塽µ¥ÀÌÅͺ£À̽º ±¸Á¶ÀÇ ¿ø¸® 4.1 µ¥ÀÌÅÍ ÆÄÀÏ 4.1.1 ÆäÀÌÁö¿Í ÀͽºÅÙÆ® 4.1.2 ´ÜÀÏ ÀͽºÅÙÆ®¿Í È¥ÇÕ ÀͽºÅÙÆ® 4.1.3 ÆäÀÌÁöÀÇ Á¾·ù 4.1.4 ÆäÀÌÁöÀÇ ¹èÄ¡ - GAM(Global Allocation Map) - SGAM(Shared Global Allocation Map) - PFS(Page Free Space) - IAM(Index Allocation Map) 4.2 Æ®·£Àè¼Ç ·Î±× ÆÄÀÏ 4.2.1 °¡»ó ·Î±× ÆÄÀÏ 4.3 µ¥ÀÌÅͺ£À̽º ÆÄÀÏ ³»ÀÇ ¾×¼¼½º ¼ö¹ý 4.4 µ¥ÀÌÅͺ£À̽º ÆÄÀÏÀÇ °ü¸® 4.4.1 ¿øÀÎ ºÒ¸íÀÇ µ¥ÀÌÅͺ£À̽º È®Àå ½ÇÆÐ 4.4.2 SQL ¼¹ö 2005 ÀÌÈÄ °³¼±µÈ »çÇ× - Á¦·ÎÀ×ÀÇ È¸ÇÇ - µðÆúÆ® ¼³Á¤ÀÇ Àç°ËÅä - ÀÌ»óÀûÀÎ ¼³Á¤ 4.5 µ¥ÀÌÅÍÀÇ È¿À²ÀûÀÎ ÀúÀå ¹æ¹ý 4.5.1 NTFS ÆÄÀÏ ¾ÐÃàÀÇ »ç¿ë 4.5.2 vardecimalÇü 4.5.3 µ¥ÀÌÅÍ ¾ÐÃà 4.5.4 ¹é¾÷ ¾ÐÃà 4.6 Á¦4Àå Á¤¸® ¡¼Á¦5À塽·Î¿ì½ºÅä¾î(Rowstore)Çü Å×À̺í 5.1 Å×À̺í°ú ¿ÀºêÁ§Æ® ID 5.2 ÆäÀÌÁöÀÇ ºÐ·ù 5.3 À妽º ÆäÀÌÁö 5.3.1 Ŭ·¯½ºÅÍÈ À妽º¿Í ºñŬ·¯½ºÅÍÈ À妽ºÀÇ Â÷ÀÌ 5.3.2 À妽º ÆäÀÌÁöÀÇ ³»ºÎ ±¸Á¶ - Çì´õ Á¤º¸ - À妽º Å° Çà - Çà ¿ÀÇÁ¼Â ¹è¿ 5.4 µ¥ÀÌÅÍ ÆäÀÌÁö 5.4.1 µ¥ÀÌÅÍ ÆäÀÌÁöÀÇ ³»ºÎ ±¸Á¶ - Çì´õ Á¤º¸ - µ¥ÀÌÅÍ Çà - Çà ¿ÀÇÁ¼Â ¹è¿ 5.5 DBCC PAGE¿¡ ÀÇÇÑ ÆäÀÌÁö »ó¼¼ Á¤º¸ÀÇ È®ÀÎ 5.5.1 Áغñ 5.5.2 Å×ÀÌºí¿¡ »ç¿ëµÇ´Â ÆäÀÌÁöÀÇ È®ÀÎ 5.5.3 ÆäÀÌÁöÀÇ È®ÀÎ a. Ãâ·Â ¿É¼Ç : ‘-1’ ¶Ç´Â ‘0’ b. Ãâ·Â ¿É¼Ç : ‘1’ c. Ãâ·Â ¿É¼Ç : ‘2’ d. Ãâ·Â ¿É¼Ç : ‘3’ 5.6 Á¦5Àå Á¤¸® ¡¼Á¦6À塽Į·³½ºÅä¾î(Columnstore)Çü ¿ÀºêÁ§Æ®(Ä®·³½ºÅ;î À妽º) 6.1 Ä®·³½ºÅä¾î À妽º µµÀÔ ¹è°æ 6.2 ¾ÆÅ°ÅØó/±¸Á¶ 6.2.1 Çà ±×·ì 6.2.2 ¿ ¼¼±×¸ÕÆ® 6.3 Ä®·³½ºÅä¾î ±¸Á¶ µ¥ÀÌÅÍ ¾ÐÃàÀÇ ÀÌÁ¡ 6.3.1 ¨ç µ¥ÀÌÅÍ ºÐÇÒ 6.3.2 ¨è ÀÎÄÚµå - µñ¼Å³Ê¸® ÀÎÄÚµù(Dictionary Encoding) - ¹ë·ù ÀÎÄÚµå(Value Encoding) 6.3.3 ¨é µ¥ÀÌÅÍ ¾ÐÃà - Bit Packing - Run Length Encoding 6.4 Ä®·³½ºÅä¾î À妽ºÀÇ Á¾·ù 6.5 Ä®·³½ºÅä¾î À妽ºÀÇ Àû¿ë ºÎºÐ 6.5.1 ·Î¿ì½ºÅä¾î À妽º¿Í Ä®·³½ºÅä¾î À妽ºÀÇ Á¶ÇÕ ¨ç Ŭ·¯½ºÅÍÈ Ä®·³½ºÅä¾î À妽º+ºñŬ·¯½ºÅÍÈ À妽º ¨è Ŭ·¯½ºÅÍÈ À妽º+ºñŬ·¯½ºÅÍÈ Ä®·³½ºÅä¾î À妽º(+ºñŬ·¯½ºÅÍÈ À妽º) 6.5.2 ¾î´À ÂÊ Á¶ÇÕÀ» ¼±ÅÃÇϸé ÁÁÀ»±î - º£À̽º°¡ µÇ´Â µ¥ÀÌÅÍ ºÎºÐÀÇ »çÀÌÁî - Ä®·³½ºÅä¾î À妽ºÀÇ ¸ÞÀΟ³Í½º - ÆÛÆ÷¸Õ½º 6.6 ¹èÄ¡ ¸ðµå 6.7 Ä®·³½ºÅä¾î À妽ºÀÇ °»½Å 6.7.1 INSERT µ¿ÀÛ 6.7.2 DELETE µ¿ÀÛ 6.7.3 UPDATE µ¿ÀÛ 6.8 Ä®·³½ºÅä¾î À妽ºÀÇ ¸ÞÀÎÅͳͽº 6.8.1 µ¨Å¸ ½ºÅä¾î 6.8.2 »èÁ¦ ºñÆ®¸Ê 6.9 SQL ¼¹öÀÇ À妽º µðÀÚÀÎ ¸ð¹ü »ç·Ê 6.9.1 Á¤º¸ ½Ã½ºÅÛÀÇ ±â´É - ¿Â¶óÀÎ Æ®·£Àè¼Ç ó¸®(OLTP) - ºÐ¼®/¸®Æ÷Æà ó¸® 6.9.2 HTAP(Hybrid Transaction/Analytical Processing) 6.10 Á¦6Àå Á¤¸® ¡¼Á¦7À塽¸Þ¸ð¸® ÃÖÀûÈ ¿ÀºêÁ§Æ®(Àθ޸𸮠OLTP) 7.1 Àθ޸𸮠OLTPÀÇ °³¿ä 7.1.1 Àθ޸𸮠OLTPÀÇ Æ¯Â¡ - Ç×»ó ¸ðµç µ¥ÀÌÅÍ´Â ¸Þ¸ð¸®»ó¿¡ Á¸ÀçÇÑ´Ù - À妽º´Â ¸Þ¸ð¸®»ó¿¡¸¸ Á¸ÀçÇÑ´Ù - ¶ô/·¡Ä¡¸¦ »ç¿ëÇÏÁö ¾Ê´Â´Ù - ÄÄÆÄÀÏµÈ ¸ðµâÀÇ »ç¿ë -7.1.2 Àθ޸𸮠OLTPÀÇ ¿ëµµ - IoT - Temp Table - ETLÀÇ Áß°£ Å×À̺í 7.2 Àθ޸𸮠OLTP¸¦ ±¸¼ºÇÏ´Â ÄÄÆ÷³ÍÆ® 7.2.1 ¸Þ¸ð¸® ÃÖÀûÈ Å×À̺í 7.2.2 À妽º - Çؽà À妽º - Àθ޸𸮠ºñŬ·¯½ºÅÍÈ À妽º 7.2.3 ³×ÀÌƼºê ÄÄÆÄÀÏ ½ºÅä¾îµå ÇÁ·Î½ÃÀú 7.3 Àθ޸𸮠OLTPÀÇ µ¥ÀÌÅÍ °ü¸® 7.3.1 µ¥ÀÌÅÍÀÇ Áö¼Ó¼º - SCHEMA_AND_DATA - SCHEMA_ONLY 7.3.2 ¸Þ¸ð¸® ÃÖÀûÈ Å×À̺íÀÇ µ¥ÀÌÅÍ ±¸Á¶ 7.3.3 µ¥ÀÌÅÍÀÇ ¶óÀÌÇÁ»çÀÌŬ - INSERT µ¿ÀÛ - SELECT µ¿ÀÛ - DELETE µ¿ÀÛ - UPDATE µ¿ÀÛ 7.3.4 °¡ºñÁö Ä÷º¼Ç - °¡ºñÁö Ä÷º¼Ç ¸ÞÀÎ ½º·¹µåÀÇ µ¿ÀÛ - ¸Þ¸ð¸®ÀÇ ÇØÁ¦ 7.3.5 µð½ºÅ©¿¡ º¸Á¸Çϱâ À§ÇÑ ¿ÀºêÁ§Æ® - ¸Þ¸ð¸® ÃÖÀûÈ ÆÄÀÏ ±×·ì - µ¥ÀÌÅÍ ÆÄÀÏ - µ¨Å¸ ÆÄÀÏ - üũÆ÷ÀÎÆ® ÆÄÀÏ Æä¾î 7.3.6 µð½ºÅ© º¸Á¸ ½ÃÀÇ µ¿ÀÛ - ¸Þ¸ð¸® ÃÖÀûÈ Å×À̺íÀÇ Ã¼Å©Æ÷ÀÎÆ® - ÀÚµ¿ üũÆ÷ÀÎÆ® - ¼öµ¿ üũÆ÷ÀÎÆ® - üũÆ÷ÀÎÆ® ÆÄÀÏ Æä¾îÀÇ º´ÇÕ(merge) 7.3.7 »çÀÌ¡ - µ¥ÀÌÅÍ »çÀÌÁî 7.4 Àθ޸𸮠OLTP »ç¿ë ½ÃÀÇ À¯ÀÇ»çÇ× 7.4.1 °¡Àå ¸ÕÀú ä¿ëÇØ¾ß ÇÒ À妽º 7.4.2 ¸Þ¸ð¸® ÃÖÀûÈ Å×ÀÌºí¿¡¼ Áö¿øµÇÁö ¾Ê´Â ±â´É 7.4.3 ³×ÀÌƼºê ÄÄÆÄÀÏ ½ºÅä¾îµå ÇÁ·Î½ÃÀú »ç¿ë ½ÃÀÇ À¯ÀÇ»çÇ× 7.5 Á¦7Àå Á¤¸® ¡¼Á¦8À塽¸±·¹À̼ųΠ¿£ÁøÀÇ µ¿ÀÛ 8.1 ¸±·¹À̼ųΠ¿£ÁøÀÇ ±¸¼º 8.2 Äõ¸®ÀÇ ¶óÀÌÇÁ»çÀÌŬ ¨ç Ç÷£ ij½ÃÀÇ È®ÀÎ ¨è ÆĽÌ(Parsing) ¨é Äõ¸®ÀÇ ÆĶó¹ÌÅÍÈ ¨ê ¹ÙÀÎµå ¨ë ÃÖÀûÈ ¨ì Äõ¸® ½ÇÇà Ç÷£ »ý¼º(¶Ç´Â ÀçÀÌ¿ë) ¨í ¸®¼Ò½º È®º¸ ¨î ½ÇÇà ¨ï Äõ¸® ½ÇÇà Ç÷£ÀÇ µî·Ï 8.3 Äõ¸® ¿ÉƼ¸¶ÀÌÀú ¨ç Simplication ¨è Auto-Create Stats ¨é Derive Cardinality ¨ê Heuristic Join Reorder ¨ë Project Normalization ¨ì Trivial Plan ¨í Exploration ¨î Äõ¸® Æ®¸® º¯È¯ 8.4 Äõ¸® ¿ÉƼ¸¶ÀÌÀú¿Í Äõ¸® ½ÇÇà Ç÷£ 8.5 Åë°è Á¤º¸ 8.5.1 È÷½ºÅä±×·¥(histogram) 8.5.2 ¹Ðµµ(density) - 1/¿ÀÌ º¸°üÇÏ´Â ÇϳªÀÇ Çà ¼ö 8.5.3 ±âŸ 8.6 Åë°è Á¤º¸°¡ ÀÛ¼ºµÇ´Â °è±â 8.6.1 ¸í½ÃÀûÀ¸·Î ÀÛ¼º 8.6.2 ÀÚµ¿ ÀÛ¼º ÇÁ·ÎÆÛƼ ¼³Á¤¿¡ ÀÇÇÑ ÀÛ¼º 8.6.3 À妽º ÀÛ¼º ½Ã¿¡ ÀÛ¼º 8.7 Åë°è Á¤º¸ÀÇ È®ÀÎ 8.7.1 Çì´õ Á¤º¸ 8.7.2 ¹Ðµµ Á¤º¸ 8.7.3 È÷½ºÅä±×·¥ 8.8 Á¦8Àå Á¤¸® ¡¼Á¦9À塽³×Æ®¿öÅ© 9.1 Ŭ¶óÀ̾ðÆ®¿Í Åë½ÅÇÒ ¶§ ÇÊ¿äÇÑ ÀÛ¾÷ 9.1.1 ¿ÀÆÛ·¹ÀÌÆà ½Ã½ºÅÛ°ú ³×Æ®¿öÅ© - SQL ¼¹ö ÄÄÆ÷³ÍÆ® 9.2 SQL ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®ÀÇ Åë½Å 9.2.1 TDS(Ç¥ Çü½Ä µ¥ÀÌÅÍ ½ºÆ®¸²) 9.2.2 Ŭ¶óÀ̾ðÆ®·ÎºÎÅÍ ¼Û½ÅµÇ´Â ¸Þ½ÃÁö - ·Î±×ÀÎ - SQL Ä¿¸Çµå - ¹ÙÀ̳ʸ® µ¥ÀÌÅ͸¦ Æ÷ÇÔÇÑ SQL Ä¿¸Çµå - ¸®¸ðÆ® ÇÁ·Î½ÃÀú ÄÝ - ¾îÅÙ¼Ç - Æ®·£Àè¼Ç ¸Å´ÏÀú ¸®Äù½ºÆ® 9.2.3 SQL ¼¹ö¿¡¼ ¼Û½ÅµÇ´Â ¸Þ½ÃÁö - ·Î±×ÀÎ ¸®½ºÆù½º - Çà µ¥ÀÌÅÍ - ¹Ýȯ°ª ½ºÅ×ÀÌÅͽº - ¸®ÅÏ ÆĶó¹ÌÅÍ - ¸®Äù½ºÆ®ÀÇ Á¾·á - ¿¡·¯ ¸Þ½ÃÁö¿Í Á¤º¸ ¸Þ½ÃÁö - ¾îÅÙ¼Ç 9.3 SQL ¼¹ö¿Í Ŭ¶óÀ̾ðÆ®ÀÇ µ¥ÀÌÅÍ ¼ö¼ö 9.4 ÅäÅ« ¾ø´Â µ¥ÀÌÅÍ ½ºÆ®¸²°ú ÅäÅ« ÀÖ´Â µ¥ÀÌÅÍ ½ºÆ®¸² 9.4.1 ÅäÅ« ¾ø´Â µ¥ÀÌÅÍ ½ºÆ®¸² 9.4.2 ÅäÅ« ÀÖ´Â µ¥ÀÌÅÍ ½ºÆ®¸² 9.5 Ŭ¶óÀ̾ðÆ®°¡ Á¢¼Ó ½Ã¿¡ »ç¿ëÇÏ´Â ÇÁ·ÎÅäÄÝÀÇ °ü¸® 9.6 Á¢¼ÓÁö Á¤º¸ÀÇ Ä³½Ã 9.6.1 µðÆúÆ® ÀνºÅϽº¿¡ Á¢¼Ó 9.6.2 ³×ÀÓµå ÀνºÅϽº¿¡ Á¢¼Ó 9.7 Á¦9Àå Á¤¸® ¡¼Á¦10À塽µ¥ÀÌÅͺ£À̽º ¹é¾÷°ú º¹¿ø 10.1 ¹é¾÷ ÆÄÀÏÀÇ Ãâ·Â Çü½Ä 10.2 ¹é¾÷ ÆÄÀÏÀÇ ³»¿ë - ¹Ìµð¾î Çì´õ - µ¥ÀÌÅͼ¼Æ® °³½Ã ºí·Ï - SQL ¼¹ö ¼³Á¤ Á¤º¸ - SQL ¼¹ö µ¥ÀÌÅÍ ½ºÆ®¸² - SQL ¼¹ö ·Î±× ½ºÆ®¸² - µ¥ÀÌÅͼ¼Æ® Á¾·á ºí·Ï - ¹Ìµð¾î Á¾·á 10.3 ¹é¾÷ÀÇ Á¾·ù 10.3.1 ¿ÏÀü ¹é¾÷ 10.3.2 Â÷µî ¹é¾÷ 10.3.3 ÆÄÀÏ ¹é¾÷ 10.3.4 ÆÄÀÏ Â÷µî ¹é¾÷ 10.3.5 Æ®·£Àè¼Ç ·Î±× ¹é¾÷ 10.4 ¹é¾÷ ó¸®ÀÇ È帧 10.5 ¹é¾÷ ¹Ìµð¾îÀÇ ÈÑ¼Õ 10.5.1 µ¥ÀÌÅͺ£À̽º ÀÚü°¡ ÈѼյƴ٠10.5.2 ¹é¾÷ ÆÄÀÏ »ý¼º ½Ã¿¡ ¿À·ù°¡ ¹ß»ýÇß´Ù 10.6 ¹é¾÷ ÆÄÀÏÀÇ ¾ÐÃà 10.7 BACKUP/RESTORE ÀÌ¿ÜÀÇ ¹é¾÷ - ÀÌÁ¡ - ÁÖÀÇ»çÇ× 10.8 Á¦10Àå Á¤¸® ¡¼Á¦11À塽Ʈ·¯ºí½´Æà 11.1 ÆÛÆ÷¸Õ½º ¹®Á¦ ÇØ°áÀÇ ¾î·Á¿ò ¨ç Á¤º¸ ¼öÁý¿¡ ½Ã°£ÀÌ °É¸°´Ù ¨è ÆÛÆ÷¸Õ½ºÀÇ ºñ±³°¡ ¾î·Æ´Ù ¨é Á¤º¸ÀÇ Çؼ®ÀÌ ¾î·Æ´Ù 11.2 Äõ¸® ÀúÀå¼Ò 11.2.1 ½ÇÇöÇÒ ¼ö ÀÖ´Â °Í - Á¤º¸ ¼öÁýÀÇ ÀÚµ¿È - ÆÛÆ÷¸Õ½ºÀÇ ºñ±³ - ¿øÈ°ÇÑ Äõ¸® Çؼ®°ú ¹®Á¦Á¡ ¹ß°ß - Äõ¸®ÀÇ ½ÇÇà Ç÷£ °Á¦ 11.2.2 Äõ¸® ÀúÀå¼ÒÀÇ ±¸Á¶ - Äõ¸® ÅؽºÆ® - Äõ¸® ½ÇÇà Ç÷£ - Äõ¸® ½ÇÇà Åë°è 11.2.3 Äõ¸® ÀúÀå¼ÒÀÇ »ç¿ë ¿¹ - ½Ã³ª¸®¿À 1 ¾î´À ³¯ °©ÀÚ±â ƯÁ¤ Äõ¸®ÀÇ ÆÛÆ÷¸Õ½º°¡ ³ªºüÁ³´Ù. ´ëÃ¥À» ° ±¸ÇϽÿÀ. - ½Ã³ª¸®¿À 2 ¼¹öÀÇ CPU ºÎÇÏ°¡ ³ôÀ¸¹Ç·Î ¿øÀÎÀÌ µÇ´Â Äõ¸®¸¦ ¹ß°ßÇϽÿÀ. 11.2.4 Äõ¸® ÀúÀå¼ÒÀÇ »ç¿ë°ú ÁÖÀÇ»çÇ× - Äõ¸® ÀúÀå¼ÒÀÇ »ç¿ë - ÁÖÀÇ»çÇ× - °Á¦µÈ °èȹ 11.3 Æ®·¯ºí 1 SQL ¼¹ö¿¡ Á¢¼ÓÇÏÁö ¸øÇÑ´Ù 11.3.1 SQL ¼¹ö°¡ ´ë±âÇÏ°í ÀÖ´Â ÇÁ·ÎÅäÄÝÀÇ È®ÀÎ - SQL ¼¹ö ·Î±×ÀÇ ÂüÁ¶ 11.3.2 Ŭ¶óÀ̾ðÆ® ÄÄÇ»ÅÍÀÇ ÇÁ·ÎÅäÄÝ ¼³Á¤ È®ÀÎ 11.3.3 SQL ¼¹ö ºê¶ó¿ìÀúÀÇ »óÅ ȮÀÎ 11.3.4 À©µµ¿ìÀÇ º¸¾È ¼³Á¤ 11.4 Æ®·¯ºí 2 ºí·ÎÅ· ¹®Á¦ 11.4.1 ºí·ÎÅ· »óȲÀÇ Çؼ® - È®Àå À̺¥Æ®¿¡ ÀÇÇÑ ºí·ÎÅ· Çؼ® 11.4.2 ºí·ÎÅ· °æ°¨ ¼ö´Ü - ´ëó 1 °³°³ÀÇ Æ®·£Àè¼ÇÀ» ª°Ô Çؼ ¶ô ½Ã°£À» ´ÜÃàÇÑ´Ù - ´ëó 2 È¿°úÀûÀÎ WHEREÀýÀÇ ÁöÁ¤ µîÀ¸·Î ¶ô ¹üÀ§¸¦ Á¼Èù´Ù - ´ëó 3 Æ®·£Àè¼Ç ºÐ¸® ·¹º§ÀÇ º¯°æ 11.5 Æ®·¯ºí 3 µ¥µå¶ô ¹®Á¦ 11.5.1 ÀüÇüÀûÀÎ µ¥µå¶ô À¯Çü - »çÀÌŬ µ¥µå¶ô - º¯È¯ µ¥µå 11.5.2 µ¥µå¶ô Á¤º¸ÀÇ Çؼ® ¹æ¹ý - ÃßÀû Ç÷¡±× 1204 »ç¿ë - ÃßÀû Ç÷¡±× 1204ÀÇ »ç¿ë ¹æ¹ý 11.5.3 µ¥µå¶ô ´ëó ¹æ¹ý - ¿ÀºêÁ§Æ® ¾×¼¼½º ¼ø¼ °í·Á - ³ª»Û ¿¹ - ÁÁÀº ¿¹ - Æ®·£Àè¼Ç ³»ÀÇ »ç¿ëÀÚ ÀÔ·Â ´ë±â ȸÇÇ 11.6 Á¦11Àå Á¤¸® ¡¼Á¦12À塽»õ·Î¿î Ç÷§ÆûÀ¸·ÎÀÇ Àü°³ 12.1 ¸®´ª½º¿¡ ´ëÀÀ 12.1.1 Linux ¹öÀü SQL ¼¹ö ź»ý °æÀ§ 12.1.2 ÃÖÀûÀÇ ÀÌ½Ä ¹æ¹ý 12.1.3 ¸®´ª½º ¹öÀü SQL ¼¹ö¸¦ »ç¿ëÇÒ ¶§ ÁÖÀÇ»çÇ× 12.2 Ŭ¶ó¿ìµå·Î ¹èÆ÷ 12.2.1 IaaS·Î¼ÀÇ SQL ¼¹ö 12.2.2 PaaS·Î Á¦°øµÇ´Â SQL ¼¹ö - Azure SQL Database - Azure SQL Database Managed Instance 12.3 Á¦12Àå Á¤¸® Appendix ºÎ·Ï ¿ë¾îÁý Index ã¾Æº¸±â Column SQLOS ½ºÄÉÁÙ·¯´Â ºñ¼±Á¡Çü(non pre-emptive) SQLOS ½ºÄÉÁÙ·¯ÀÇ ¹ßÀü ÃÖÀûÀÇ Äõ¸® ½ÇÇà Ç÷£À» À§ÇØ ÇÏÀ̺긮µå ¹öÆÛ Ç® ºÎ°¡ ¿ À妽ºÀÇ ÀÌÁ¡ Çؽà ¹öŶ ¶ô/·¡Ä¡¸¦ ȹµæÇÏÁö ¾Ê°í µ¥ÀÌÅÍ °»½ÅÀ» ½ÇÇöÇÏ´Â ¹æ¹ýÀº? ¸Þ¸ð¸® ÃÖÀûÈ Å×À̺í°ú µð½ºÅ© Å×À̺íÀÇ ¾×¼¼½º ¹æ¹ý Â÷ÀÌ TDSÀÇ º¯Ãµ ¹öÆÛ »çÀÌÁîÀÇ º¯°æ ÆÄ¼ÕµÈ ¹é¾÷ ÆÄÀÏÀÇ º¹¿ø ÃÖÀûÀÇ Äõ¸® ½ÇÇà Ç÷£À» À§ÇØ Æ®·£Àè¼Ç ºÐ¸® ·¹º§À» ÀÌÇØÇÑ´Ù ´Ù¾çÇÑ »óÅÂÀÇ µ¥ÀÌÅ͸¦ º¸È£ÇÏ´Â º¸¾È ±â´É±º
(°³)
1. ¹è¼Û
¹è¼ÛÀº ´çÀÏ ¿ÀÈÄ 4½ÃÀÌÀü(Åä¿äÀÏÀº ¿ÀÈÄ12½Ã)¿¡ ÁÖ¹®¹× °áÀ縦 ÇÏ½Ã¸é ´çÀϹè¼ÛµË´Ï´Ù. ¹è¼ÛÀº ÁÖ¹® ÈÄ °áÀç¿Ï·áÀÏÀ» ±âÁØÀ¸·Î 1~2ÀÏ ¾È¿¡ ¹è¼Û¿Ï·á¸¦ ¿øÄ¢À¸·Î ÇÏ°í ÀÖ½À´Ï´Ù. ´Ù¸¸ ºÎµæÀÌÇÑ °æ¿ì(ÇØ´ç»óÇ°ÀÇ Ç°Àý ¹× ÀýÆÇ) °í°´´Ô²² Àüȸ¦ µå·Á¼ 󸮸¦ ÇÕ´Ï´Ù. 2. ¹è¼Û·á ¹è¼Û·á´Â 25,000¿ø ÀÌ»óÀÌ °æ¿ì À̱×ÀëÇ÷¯½º¿¡¼ ºÎ´ãÇÏ°í, ¹Ì¸¸ÀÏ °æ¿ì °í°´ÀÌ 2,500¿øÀ» ºÎ´ãÇÕ´Ï´Ù. ´Ù¸¸ ±¸¸Å±Ý¾×ÀÌ 25,000¿ø ÀÌ»óÀε¥ Àû¸³±Ý µîÀ» »ç¿ëÇÏ¿© ½ÇÁ¦ °áÀç±Ý¾×ÀÌ 25,000¿ø ¹Ì¸¸ÀÌ µÇ´õ¶óµµ À̱×ÀëÇ÷¯½º¿¡¼ ¹è¼Û·á¸¦ ºÎ´ãÇÏ°í, Á¦ÁÖ¸¦ Á¦¿ÜÇÑ µµ¼Áö¿ªÀÇ °æ¿ì´Â 5,000¿øÀÌ Ãß°¡µË´Ï´Ù. Çؿܹè¼ÛÀº Àü¾× °í°´ºÎ´ãÀÌ µË´Ï´Ù. 5. ¹ÝÇ°/±³È¯
¹ÞÀ¸½Å ³¯ ºÎÅÍ ÀÏÁÖÀÏ À̳» ¹ÝÇ°/±³È¯ÀÌ °¡´ÉÇϽʴϴÙ. ½Ã°£ÀÌ Áö³ª¸é 󸮰¡ ºÒ°¡ÇÔÀ» ¾Ë·Á µå¸³´Ï´Ù. ´Ù¸¸ ÁÖ¹®ÇϽŠ»óÇ°°ú ´Ù¸¥ »óÇ°ÀÌ ¹è¼ÛµÇ°Å³ª Æĺ», ³«ÀåÀÌ ÀÖ´Â µµ¼ÀÇ °æ¿ì ÀÌ¿ë¾à°ü¿¡ ÁØÇÏ¿© À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î ±³È¯, ¹ÝÇ° ¹× ȯºÒ µîÀ» Çص帳´Ï´Ù. 4. ȯºÒ ¹ÞÀ¸½Å ³¯ºÎÅÍ 2ÀÏ À̳»·Î Àüȳª 1:1 °Ô½Ã±Û·Î Àû¾îÁÖ¼Å¾ß °¡´ÉÇϽʴϴÙ. 5. ÁÖÀÇ °í°´´Ô º¯½ÉÀ¸·Î ÀÎÇÑ ±³È¯/¹ÝÇ°/ȯºÒ °í°´´Ô²²¼ Åùèºñ(¿Õº¹Åùèºñ)¸¦ ºÎ´ãÀÌ µÇ´Ï ÀÌÁ¡ À¯ÀÇÇØ ÁֽʽÿÀ. ¶ÇÇÑ °ÀÇÅ×ÀÙ/¾ãÀº¹®Á¦Áý/ºñ´ÒÆ÷ÀåµÈÁ¦Ç°µîÀº Çѹø ±¸¸ÅÇÏ½Ã¸é ±³È¯/¹ÝÇ°/ȯºÒÀÌ ÀüÇô ¾ÈµË´Ï´Ù. ½ÅÁßÈ÷ »ý°¢Çϼż ±¸¸Å ºÎŹµå¸³´Ï´Ù. ´Ù¸¸ ºÒ·®Å×ÀÙÀÇ °æ¿ì ±× ºÒ·®ÀÌ µÈ °³º°Å×ÀÙÀ» À̱×ÀëÇ÷¯½ºÀÇ ºñ¿ëÀ¸·Î A/S¸¦ Çص帳´Ï´Ù. 6. ÁÖ¹®Ãë¼Ò, ±³È¯, ¹ÝÇ° ¹× ȯºÒÀº ´çÀÏ 3½Ã ÀÌÀü¿¡ ÇØÁÖ¼Å¾ß °¡´ÉÇÕ´Ï´Ù. ±× ÀÌÈÄ´Â ¹è¼Û µî¿¡ µû¸¥ Á¦ºñ¿ëÀ» ºÎ´ãÇÏ¼Å¾ß ÇÕ´Ï´Ù.
|
|
||||||||
|
||||||||
|
||||||||
* »óÇ°»çÀÌÁî Ä¡¼ö´Â Àç´Â ¹æ¹ý°ú À§Ä¡¿¡ µû¶ó 1~3cm ¿ÀÂ÷°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù.