¡ºReal MySQL 8.0¡»Àº ¡ºReal MySQL¡»À» Á¤Á¦Çؼ ²À ÇÊ¿äÇÑ ³»¿ëÀ¸·Î ¾ÐÃàÇÏ°í, MySQL 8.0ÀÇ GTID¿Í InnoDB Ŭ·¯½ºÅÍ ±â´Éµé°ú ¼ÒÇÁÆ®¿þ¾î ¾÷°è Æ®·»µå¸¦ ¹Ý¿µÇÑ GIS ¹× Àü¹® °Ë»ö µîÀÇ È®Àå ±â´ÉµéÀ» Ãß°¡·Î ¼ö·ÏÇß´Ù. ¶ÇÇÑ ´Ü¼ø SQL ¹®¹ýÀ̳ª Äõ¸® ÀÛ¼ºº¸´Ù´Â MySQL ¼¹ö¸¦ È°¿ëÇÏ´Â ÇÁ·ÎÁ§Æ®¿¡¼ ²À ÇÊ¿äÇÑ °æÇè°ú Áö½ÄÀ» Àü´ÞÇÏ´Â µ¥ ÁýÁßÇß´Ù.
ÄÄÇ»ÅÍ °úÇÐÀ» Àü°øÇÏ°í, ±ÝÀ¶±ÇÀÇ CRM/DW ÇÁ·ÎÁ§Æ® ¸®´õ·Î Âü¿©ÇßÀ¸¸ç, 2³â¿©°£ DW¸¦ À§ÇÑ ETL ¼Ö·ç¼ÇÀ» °³¹ßÇß´Ù. ÀÌÈÄ ³×À̹ö¿Í ¶óÀÎÀÇ DBA·Î ±Ù¹«ÇßÀ¸¸ç ÇöÀç Ä«Ä«¿À¿¡¼ DB ¿î¿µ°ú Æ®·¯ºí½´Æà ±×¸®°í ½Å±â¼ú º¥Ä¡¸¶Å·°ú DBMS ¿£Áø ÃÖÀûȸ¦ ¼öÇàÇÏ°í ÀÖ´Ù. ¶ÇÇÑ Áö±Ý±îÁö ¹è¿î ³»¿ë°ú °æÇèÇÑ °ÍÀ» ÀüÆÄÇϱâ À§Çؼ Àú¼ú È°µ¿°ú ¼¼¹Ì³ª¸¦ ÁøÇàÇÏ°í ÀÖ´Ù. Àú¼·Î´Â ¡ºPHP 5 À¥ ÇÁ·Î±×·¡¹Ö (2007. ´ë¸²)¡»,¡ºReal MySQL(2012. À§Å°ºÏ½º)¡»,¡ºReal MariaDB(2014. À§Å°ºÏ½º)¡»°¡ ÀÖ°í, ¹ø¿ª¼·Î´Â ¡ºMySQL ¼º´É ÃÖÀûÈ(2010. À§Å°ºÏ½º)¡»°¡ ÀÖ´Ù.
¢Ã 01Àå: ¼Ò°³
1.1 MySQL ¼Ò°³
1.2 ¿Ö MySQLÀΰ¡?
¢Ã 02Àå: ¼³Ä¡¿Í ¼³Á¤
2.1 MySQL ¼¹ö ¼³Ä¡
___2.1.1 ¹öÀü°ú ¿¡µð¼Ç(¿£ÅÍÇÁ¶óÀÌÁî¿Í Ä¿¹Â´ÏƼ) ¼±ÅÃ
___2.1.2 MySQL ¼³Ä¡
2.2 MySQL ¼¹öÀÇ ½ÃÀÛ°ú Á¾·á
___2.2.1 ¼³Á¤ ÆÄÀÏ ¹× µ¥ÀÌÅÍ ÆÄÀÏ Áغñ
___2.2.2 ½ÃÀÛ°ú Á¾·á
___2.2.3 ¼¹ö ¿¬°á Å×½ºÆ®
2.3 MySQL ¼¹ö ¾÷±×·¹À̵å
___2.3.1 ÀÎÇ÷¹À̽º ¾÷±×·¹À̵å Á¦¾à »çÇ×
___2.3.2 MySQL 8.0 ¾÷±×·¹ÀÌµå ½Ã °í·Á »çÇ×
___2.3.3 MySQL 8.0 ¾÷±×·¹À̵å
2.4 ¼¹ö ¼³Á¤
___2.4.1 ¼³Á¤ ÆÄÀÏÀÇ ±¸¼º
___2.4.2 MySQL ½Ã½ºÅÛ º¯¼öÀÇ Æ¯Â¡
___2.4.3 ±Û·Î¹ú º¯¼ö¿Í ¼¼¼Ç º¯¼ö
___2.4.4 Á¤Àû º¯¼ö¿Í µ¿Àû º¯¼ö
___2.4.5 SET PERSIST
___2.4.6 my.cnf ÆÄÀÏ
¢Ã 03Àå: »ç¿ëÀÚ ¹× ±ÇÇÑ
3.1 »ç¿ëÀÚ ½Äº°
3.2 »ç¿ëÀÚ °èÁ¤ °ü¸®
___3.2.1 ½Ã½ºÅÛ °èÁ¤°ú ÀÏ¹Ý °èÁ¤
___3.2.2 °èÁ¤ »ý¼º
3.3 ºñ¹Ð¹øÈ£ °ü¸®
___3.3.1 °í¼öÁØ ºñ¹Ð¹øÈ£
___3.3.2 ÀÌÁß ºñ¹Ð¹øÈ£
3.4 񀀥(Privilege)
3.5 ¿ªÇÒ(Role)
¢Ã 04Àå: ¾ÆÅ°ÅØó
4.1 MySQL ¿£Áø ¾ÆÅ°ÅØó
___4.1.1 MySQLÀÇ Àüü ±¸Á¶
___4.1.2 MySQL ½º·¹µù ±¸Á¶
___4.1.3 ¸Þ¸ð¸® ÇÒ´ç ¹× »ç¿ë ±¸Á¶
___4.1.4 Ç÷¯±×ÀÎ ½ºÅ丮Áö ¿£Áø ¸ðµ¨
___4.1.5 ÄÄÆ÷³ÍÆ®
___4.1.6 Äõ¸® ½ÇÇà ±¸Á¶
___4.1.7 º¹Á¦
___4.1.8 Äõ¸® ij½Ã
___4.1.9 ½º·¹µå Ç®
___4.1.10 Æ®·£Àè¼Ç Áö¿ø ¸ÞŸµ¥ÀÌÅÍ
4.2 InnoDB ½ºÅ丮Áö ¿£Áø ¾ÆÅ°ÅØó
___4.2.1 ÇÁ¶óÀ̸Ӹ® Å°¿¡ ÀÇÇÑ Å¬·¯½ºÅ͸µ
___4.2.2 ¿Ü·¡ Å° Áö¿ø
___4.2.3 MVCC(Multi Version Concurrency Control)
___4.2.4 Àá±Ý ¾ø´Â ÀÏ°üµÈ Àбâ(Non-Locking Consistent Read)
___4.2.5 ÀÚµ¿ µ¥µå¶ô °¨Áö
___4.2.6 ÀÚµ¿ÈµÈ Àå¾Ö º¹±¸
___4.2.7 InnoDB ¹öÆÛ Ç®
___4.2.8 Double Write Buffer
___4.2.9 ¾ðµÎ ·Î±×
___4.2.10 üÀÎÁö ¹öÆÛ
___4.2.11 ¸®µÎ ·Î±× ¹× ·Î±× ¹öÆÛ
___4.2.12 ¾î´ðƼºê Çؽà À妽º
___4.2.13 InnoDB¿Í MyISAM, MEMORY ½ºÅ丮Áö ¿£Áø ºñ±³
4.3 MyISAM ½ºÅ丮Áö ¿£Áø ¾ÆÅ°ÅØó
___4.3.1 Å° ij½Ã
___4.3.2 ¿î¿µÃ¼Á¦ÀÇ Ä³½Ã ¹× ¹öÆÛ
___4.3.3 µ¥ÀÌÅÍ ÆÄÀÏ°ú ÇÁ¶óÀ̸Ӹ® Å°(À妽º) ±¸Á¶
4.4 MySQL ·Î±× ÆÄÀÏ
___4.4.1 ¿¡·¯ ·Î±× ÆÄÀÏ
___4.4.2 Á¦³Ê·² Äõ¸® ·Î±× ÆÄÀÏ(Á¦³Ê·² ·Î±× ÆÄÀÏ, General log)
___4.4.3 ½½·Î¿ì Äõ¸® ·Î±×
¢Ã 05Àå: Æ®·£Àè¼Ç°ú Àá±Ý
5.1 Æ®·£Àè¼Ç
___5.1.1 MySQL¿¡¼ÀÇ Æ®·£Àè¼Ç
___5.1.2 ÁÖÀÇ»çÇ×
5.2 MySQL ¿£ÁøÀÇ Àá±Ý
___5.2.1 ±Û·Î¹ú ¶ô
___5.2.2 Å×ÀÌºí ¶ô
___5.2.3 ³×ÀÓµå ¶ô
___5.2.4 ¸ÞŸµ¥ÀÌÅÍ ¶ô
5.3 InnoDB ½ºÅ丮Áö ¿£Áø Àá±Ý
___5.3.1 InnoDB ½ºÅ丮Áö ¿£ÁøÀÇ Àá±Ý
___5.3.2 À妽º¿Í Àá±Ý
___5.3.3 ·¹ÄÚµå ¼öÁØÀÇ Àá±Ý È®ÀÎ ¹× ÇØÁ¦
5.4 MySQLÀÇ °Ý¸® ¼öÁØ
___5.4.1 READ UNCOMMITTED
___5.4.2 READ COMMITTED
___5.4.3 REPEATABLE READ
___5.4.4 SERIALIZABLE
¢Ã 06Àå: µ¥ÀÌÅÍ ¾ÐÃà
6.1 ÆäÀÌÁö ¾ÐÃà
6.2 Å×ÀÌºí ¾ÐÃà
___6.2.1 ¾ÐÃà Å×ÀÌºí »ý¼º
___6.2.2 KEY_BLOCK_SIZE °áÁ¤
___6.2.3 ¾ÐÃàµÈ ÆäÀÌÁöÀÇ ¹öÆÛ Ç® ÀûÀç ¹× »ç¿ë
___6.2.4 Å×ÀÌºí ¾ÐÃà °ü·Ã ¼³Á¤
¢Ã 07Àå: µ¥ÀÌÅÍ ¾ÏÈ£È
7.1 MySQL ¼¹öÀÇ µ¥ÀÌÅÍ ¾ÏÈ£È
___7.1.1 2´Ü°è Å° °ü¸®
___7.1.2 ¾ÏÈ£È¿Í ¼º´É
___7.1.3 ¾ÏÈ£È¿Í º¹Á¦
7.2 keyring_file Ç÷¯±×ÀÎ ¼³Ä¡
7.3 Å×ÀÌºí ¾ÏÈ£È
___7.3.1 Å×ÀÌºí »ý¼º
___7.3.2 ÀÀ¿ë ÇÁ·Î±×·¥ ¾ÏȣȿÍÀÇ ºñ±³
___7.3.3 Å×ÀÌºí½ºÆäÀ̽º À̵¿
7.4 ¾ðµÎ ·Î±× ¹× ¸®µÎ ·Î±× ¾ÏÈ£È
7.5 ¹ÙÀ̳ʸ® ·Î±× ¾ÏÈ£È
___7.5.1 ¹ÙÀ̳ʸ® ·Î±× ¾ÏÈ£È Å° °ü¸®
___7.5.2 ¹ÙÀ̳ʸ® ·Î±× ¾ÏÈ£È Å° º¯°æ
___7.5.3 mysqlbinlog µµ±¸ È°¿ë
¢Ã 08Àå: À妽º
8.1 µð½ºÅ© Àб⠹æ½Ä
___8.1.1 ÇÏµå µð½ºÅ© µå¶óÀ̺ê(HDD)¿Í ¼Ö¸®µå ½ºÅ×ÀÌÆ® µå¶óÀ̺ê(SSD)
___8.1.2 ·£´ý I/O¿Í ¼øÂ÷ I/O
8.2 À妽º¶õ?
8.3 B-Tree À妽º
___8.3.1 ±¸Á¶ ¹× Ư¼º
___8.3.2 B-Tree À妽º Å° Ãß°¡ ¹× »èÁ¦
___8.3.3 B-Tree À妽º »ç¿ë¿¡ ¿µÇâÀ» ¹ÌÄ¡´Â ¿ä¼Ò
___8.3.4 B-Tree À妽º¸¦ ÅëÇÑ µ¥ÀÌÅÍ Àбâ
___8.3.5 ´ÙÁß Ä®·³(Multi-column) À妽º
___8.3.6 B-Tree À妽ºÀÇ Á¤·Ä ¹× ½ºÄµ ¹æÇâ
___8.3.7 B-Tree À妽ºÀÇ °¡¿ë¼º°ú È¿À²¼º
8.4 R-Tree À妽º
___8.4.1 ±¸Á¶ ¹× Ư¼º
___8.4.2 R-Tree À妽ºÀÇ ¿ëµµ
8.5 Àü¹® °Ë»ö À妽º
___8.5.1 À妽º ¾Ë°í¸®Áò
___8.5.2 Àü¹® °Ë»ö À妽ºÀÇ °¡¿ë¼º
8.6 ÇÔ¼ö ±â¹Ý À妽º
___8.6.1 °¡»ó Ä®·³À» ÀÌ¿ëÇÑ À妽º
___8.6.2 ÇÔ¼ö¸¦ ÀÌ¿ëÇÑ À妽º
8.7 ¸ÖƼ ¹ë·ù À妽º
8.8 Ŭ·¯½ºÅ͸µ À妽º
___8.8.1 Ŭ·¯½ºÅ͸µ À妽º
___8.8.2 ¼¼ÄÁ´õ¸® À妽º¿¡ ¹ÌÄ¡´Â ¿µÇâ
___8.8.3 Ŭ·¯½ºÅ͸µ À妽ºÀÇ ÀåÁ¡°ú ´ÜÁ¡
___8.8.4 Ŭ·¯½ºÅ͸µ Å×ÀÌºí »ç¿ë ½Ã ÁÖÀÇ»çÇ×
8.9 À¯´ÏÅ© À妽º
___8.9.1 À¯´ÏÅ© À妽º¿Í ÀÏ¹Ý ¼¼ÄÁ´õ¸® À妽ºÀÇ ºñ±³
___8.9.2 À¯´ÏÅ© À妽º »ç¿ë ½Ã ÁÖÀÇ»çÇ×
8.10 ¿Ü·¡Å°
___8.10.1 ÀÚ½Ä Å×À̺íÀÇ º¯°æÀÌ ´ë±âÇÏ´Â °æ¿ì
___8.10.2 ºÎ¸ð Å×À̺íÀÇ º¯°æ ÀÛ¾÷ÀÌ ´ë±âÇÏ´Â °æ¿ì
¢Ã 09Àå: ¿ÉƼ¸¶ÀÌÀú¿Í ÈùÆ®
9.1 °³¿ä
___9.1.1 Äõ¸® ½ÇÇà ÀýÂ÷
___9.1.2 ¿ÉƼ¸¶ÀÌÀúÀÇ Á¾·ù
9.2 ±âº» µ¥ÀÌÅÍ Ã³¸®
___9.2.1 Ç® Å×ÀÌºí ½ºÄµ°ú Ç® À妽º ½ºÄµ
___9.2.2 º´·Ä ó¸®
___9.2.3 ORDER BY ó¸®(Using filesort)
___9.2.4 GROUP BY ó¸®
___9.2.5 DISTINCT ó¸®
___9.2.6 ³»ºÎ Àӽà Å×À̺í È°¿ë
9.3 °í±Þ ÃÖÀûÈ
___9.3.1 ¿ÉƼ¸¶ÀÌÀú ½ºÀ§Ä¡ ¿É¼Ç
___9.3.2 Á¶ÀÎ ÃÖÀûÈ ¾Ë°í¸®Áò
9.4 Äõ¸® ÈùÆ®
___9.4.1 À妽º ÈùÆ®
___9.4.2 ¿ÉƼ¸¶ÀÌÀú ÈùÆ®
¢Ã 10Àå: ½ÇÇà °èȹ
10.1 Åë°è Á¤º¸
___10.1.1 Å×ÀÌºí ¹× À妽º Åë°è Á¤º¸
___10.1.2 È÷½ºÅä±×·¥
___10.1.3 ÄÚ½ºÆ® ¸ðµ¨(Cost Model)
10.2 ½ÇÇà °èȹ È®ÀÎ
___10.2.1 ½ÇÇà °èȹ Ãâ·Â Æ÷¸Ë
___10.2.2 Äõ¸®ÀÇ ½ÇÇà ½Ã°£ È®ÀÎ
10.3 ½ÇÇà °èȹ ºÐ¼®
___10.3.1 id Ä®·³
___10.3.2 select_type Ä®·³
___10.3.3 table Ä®·³
___10.3.4 partitions Ä®·³
___10.3.5 type Ä®·³
___10.3.6 possible_keys Ä®·³
___10.3.7 key Ä®·³
___10.3.8 key_len Ä®·³
___10.3.9 ref Ä®·³
___10.3.10 rows Ä®·³
___10.3.11 filtered Ä®·³
___10.3.12 Extra Ä®·³