ÄÁÅÙÃ÷»ó¼¼º¸±â

SQL¼­¹öÀÇ ±¸Á¶ : ±×¸²À¸·Î ÀÌÇØÇÏ´Â
SQL¼­¹öÀÇ ±¸Á¶ : ±×¸²À¸·Î ÀÌÇØÇÏ´Â
  • ÀúÀÚÈ÷¶ó¾ß¸¶ ¿À»ç¹« Àú/¿ÀÀ±±â,±è±âÅ ¿ª
  • ÃâÆǻ缺¾È´ç
  • ÃâÆÇÀÏ2022-01-11
  • µî·ÏÀÏ2022-09-26
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 9, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

±×¸²À¸·Î ÀÌÇØÇÏ´Â
SQL¼­¹öÀÇ ±¸Á¶

SQL °³¹ß°ú ¿î¿ë ¾÷¹«ÀÇ È¿À²È­, Æ®·¯ºí½´Æÿ¡ µµ¿ò!


½ºÅ׵𼿷¯ ¡º±×¸²À¸·Î ÀÌÇØÇÏ´Â SQL ¼­¹öÀÇ ³»ºÎ ±¸Á¶¡»(2009³â 3¿ù 2ÀÏ Ãâ°£)¸¦ ¿À·£¸¸¿¡ Àü¸é °³Á¤ÇÑ Ã¥ÀÌ´Ù. ÀüÀÛÀ» Åä´ë·Î ÇöÀçÀÇ SQL ¼­¹ö ¾ÆÅ°ÅØó¸¦ µû¶ó ¹è¿ì°íÀÚ ¼³¸í°ú ±×¸² Àüü¸¦ Àü¸é ¼öÁ¤ÇßÀ» »Ó ¾Æ´Ï¶ó Ä®·³½ºÅä¾î/Àθ޸ð¸®Çü ¿ÀºêÁ§Æ®, Paas/Iaas °¢Á¾ Ŭ¶ó¿ìµå µ¥ÀÌÅÍ Ç÷§ÆûÀÇ Çؼ³ µîÀ» Ãß°¡ÇÏ¿© ¹°¸®Àû ±¸Á¶¿Í ³»ºÎ µ¿ÀÛÀ¸·Î ÀÌÇØÇÔÀ¸·Î½á SQL¼­¹öÀÇ ±â¼úÀû Ư¼ºÀ» ÃæºÐÈ÷ È°¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾î ÇöÀå¿¡¼­ÀÇ µ¥ÀÌÅͺ£À̽º °³¹ß ¹× ¿î¿ë¾÷¹«ÀÇ È¿À²È­³ª Æ®·¯ºí½´Æÿ¡ µµ¿òÀÌ µÇµµ·Ï Çß´Ù. ÀúÀÚÀÇ SQL¼­¹ö Áö¿ø ¾÷¹« °æÇèµµ ±×´ë·Î »ì·Á ÁýÇʵǾî SQL¼­¹öÀÇ ½ÇõÀû ÆÁÀ̳ª ³ëÇÏ¿ìÁýÀ¸·Îµµ È°¿ëÇÒ ¼ö ÀÖ´Ù.

º»¹®Àº Å©°Ô 5°¡Áö Å׸¶, Áï ¡®¿ÜºÎ ÄÄÆ÷³ÍÆ®ÀÇ ÀÌÇØ¡¯, ¡®´Ù¾çÇÑ µ¥ÀÌÅÍÀÇ ±¸Á¶¡¯, ¡®³»ºÎ ÄÄÆ÷³ÍÆ®ÀÇ ÀÌÇØ¡¯, ¡®¿î¿ëÀÇ ¾ÈÁ¤È­¡¯, ¡®ÇâÈÄÀÇ Àü¸Á¡¯À¸·Î ±¸ºÐµÇ¾î ÀÖ´Ù. Ã¥¿¡¼­´Â ÀúÀÚ°¡ ¼­¹®¿¡¼­ ¹àÈù ´ë·Î SQL ¼­¹öÀÇ Æí¸®ÇÑ »ç¿ë¹ý(°¡·É ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ´Â Äõ¸® »ùÇà µî)Àº ¼Ò°³ÇÏÁö ¾Ê¾Ò´Ù. ´ë½Å SQL ¼­¹öÀÇ ±âº» ¾ÆÅ°ÅØó¸¦ ü°èÀûÀ¸·Î ¼Ò°³ÇÏ°í °¢Á¾ ³»ºÎ ±â´ÉÀÇ Æ¯¼º°ú µ¿ÀÛÀ» ÇϳªÇϳª ¾Ë±â ½±°Ô ¼Ò°³ÇÏ´Â µ¥ ´õ ÁýÁßÇß´Ù. Æ®·¯ºíÀÇ º»ÁúÀ» ÀÌÇØÇÒ ¼ö ÀÖÀ¸¸é ´«¿¡ º¸ÀÌ´Â Áõ»ó¿¡ ÈֵѸ®Áö ¾Ê°í Á¤È®ÇÑ ´ëó¸¦ °­±¸ÇÒ ¼ö ÀÖ´Ù´Â ÀúÀÚÀÇ Àǵµ¸¦ Àß ÀÐÀ» ¼ö ÀÖ´Ù.

ÀúÀÚ¼Ò°³

½ÅÀÔ»ç¿øÀ¸·Î ÃëÁ÷ÇѠȸ»ç¿¡¼­ Ã³À½À¸·Î ¹ü¿ë±â·Î °¡µ¿Çϴ Db2ÀÇ µ¥ÀÌÅͺ£À̽º °ü¸®ÀÚ¸¦ ÇÑ °ÍÀ» °è±â·Î µ¥ÀÌÅͺ£À̽º¿Í Ã¹ Àο¬À» ¸Î´Â´Ù. ÀÌÈÄ »çÀ̺£À̽º¿¡¼­ SQL ¼­¹ö(Çö SAP Adaptive Server Enterprise)ÀÇ ±â¼ú Áö¿ø ¾÷¹«¸¦ °ÅÃÄ ÀϺ» ¸¶ÀÌÅ©·Î¼ÒÇÁÆ®¿¡ ÀÔ»çÇÑ´Ù. SQL ¼­¹ö Áö¿øÆÀ¿¡¼­´Â ¸ðµç Àå¾Ö ´ëÀÀÀ» ´ã´çÇÏ°í ÀÌÈÄ 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 ¹öÆÛ Ç®(¹öÆ۠ij½Ã)
3.6.2 Ç÷£ Ä³½Ã
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 Äõ¸®ÀÇ ¶óÀÌÇÁ»çÀÌŬ
¨ç Ç÷£ Ä³½ÃÀÇ È®ÀÎ
¨è ÆĽÌ(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 Á¢¼ÓÁö Á¤º¸ÀǠij½Ã
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ÀÇ º¯Ãµ
¹öÆÛ »çÀÌÁîÀÇ º¯°æ
ÆļյȠ¹é¾÷ ÆÄÀÏÀÇ º¹¿ø
ÃÖÀûÀÇ Äõ¸® ½ÇÇà Ç÷£À» À§ÇØ
Æ®·£Àè¼Ç ºÐ¸® ·¹º§À» ÀÌÇØÇÑ´Ù
´Ù¾çÇÑ »óÅÂÀÇ µ¥ÀÌÅ͸¦ º¸È£Çϴ º¸¾È ±â´É±º

ÇÑÁÙ ¼­Æò