Class
  • Tip&Tech
[DBMS] MySQL ¾²¸é¼­ ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í 17°¡Áö
±Û¾´ÀÌ ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§higher ³¯ Â¥ 11-10-08 23:40 Á¶ ȸ 12194
°£ÆíURL https://phpschool.com/link/tipntech/74384 º¹»ç

SyntaxHighlight·Î º¸±â

Link1 http://xeraph.com/4286421 (594)
Ãâó->http://xeraph.com/4286421

mysql·Î ÀÛ¾÷À» Çϸ鼭µµ ÆÛÆ÷¸Õ½º¿¡ ´ëÇÑ ÀÌÇغÎÁ·À¸·Î ¾î¶²½ÄÀ¸·Î µðºñ¸¦ ±¸¼ºÇÏ°í Å×À̺íÀ» ÀÛ¼ºÇØ¾ß ÁÁÀº È¿À²À» ³»°Ô µÉ°ÍÀΰ¡¿¡ ´ëÇØ ³ª¸§ °í¹Î ÇØ ¿Ô¾ú½À´Ï´Ù.
À̱ÛÀº ±×·± °í¹Î¿¡´ëÇØ ¾î´ÀÁ¤µµ´Â ¹æÇâÀ» Á¦½ÃÇØ ÁÖ´Â ±ÛÀ̾ú´ø°Í °°½À´Ï´Ù.

¹°·Ð ÀÌ ³»¿ë¿¡ ´ëÇØ ´Ù ÀÌÇØÇÏ°í ¶Ç ´Ù¸¥ °üÁ¡À¸·Î º¸½Ã´Â °í¼ö´ÔµéÀÌ ½ºÄð¿¡´Â ¸¹ÀÌ °è½Ã°ÚÁö¸¸ ÀÌÁ¦ ½ÃÀÛÇÏ´Â ºÐµé¿¡°Õ ¾î´ÀÁ¤µµ ¹æÇâÀ» Á¦½Ã ÇØÁÙ ¼ö ÀÖÀ»°Í °°¾Æ ¿Å±é´Ï´Ù.

================================================================================================
*MySQL ¾²¸é¼­ ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í 17°¡Áö*

ÀÛ°Ô »ý°¢Çϱâ
- Á¶¸¸°£ ±Ô¸ð°¡ Ä¿Áú°Å¶ó¸é MySQL ecosystemÀ» ºÁ¾ßµÈ´Ù.
- ±×¸®°í ij½Ì ºý½Ã°Ô ¾È ÇÏ´Â ¸ÞÀÌÀú À¥»çÀÌÆ®´Â ¾ø´Ù.
- develooper.comÀÇ Hansen PT¶û Ilia Æ©Å丮¾ó º¼ °Í
- óÀ½ºÎÅÍ È®Àå °¡´ÉÇÏ°Ô ¾ÆÅ°ÅØó Àß ÂÉ°³³ö¾ßµÈ´Ù.
- º¹Á¦¶û ÆÄƼ¼Å´× ¾î¶»°Ô ÇÒÁö ¹Ì¸® °èȹ ¼¼¿ö³ö¶ó.
- ÆÄÀÏ ±â¹Ý ¼¼¼Ç Á» ¾²Áö¸¶ -_-
- ±×·¸´Ù°í ³Ê¹« ¾µµ¥¾øÀÌ Å©°Ô »ý°¢ÇÏÁöµµ ¸» °Í
- ƯÈ÷ ¼º´ÉÇÏ°í È®À强 ±¸ºÐ ¸ø ÇÏ¸é ³­°¨ÇÔ

EXPLAIN ¾È ½áº¸±â
- SELECT ¾Õ¿¡ EXPLAIN À̶ó°í ºÙÀ̱⸸ ÇÏ¸é µÇ´Â °ÍÀ» (..)
- ½ÇÇà °èȹ È®ÀÎ
- ŸÀÔ Ä÷³¿¡ index ½áÀִ°Ŷû Extra Ä÷³¿¡ index ½áÀִ°Ŷû "¸Å¿ì Å«" Â÷ÀÌ ÀÖÀ½
 * ŸÀÔ¿¡ ÀÖÀ¸¸é Full À妽º ½ºÄµ (¾È ÁÁ´Ù.)
 * Extra Ä÷³¿¡ ÀÖÀ¸¸é Covering À妽º ã¾Ò´Ù´Â ÀǹÌÀÓ (ÁÁ´Ù!)
- 5.0 ÀÌÈĺÎÅÍ´Â index_merge ÃÖÀûÈ­µµ ÇÑ´Ù.

À߸øµÈ µ¥ÀÌÅÍ Å¸ÀÔ ¼±ÅÃ
- ÇÑ ¸Þ¸ð¸® ºí·° ´ÜÀ§¿¡ À妽º ·¹Äڵ尡 ¸¹ÀÌ µé¾î°¥¼ö·Ï Äõ¸®°¡ »¡¸® ½ÇÇàµÉ °ÍÀÌ´Ù. (Áß¿ä)
- ¾Æ.. Á¤±ÔÈ­ Á» ÇØ -_-... (ÀÌ°Å Á¤¸» Ãæ°Ý°ú °øÆ÷ÀÎ µí)
- °¡Àå ÀÛÀº µ¥ÀÌÅÍ Å¸ÀÔÀ» ½á.. (ÁøÂ¥ BIGINT°¡ ÇÊ¿äÇϳİí..)
- À妽º °É¸®´Â Çʵå´Â Á¤¸» ÃÖ¼ÒÇÑÀ¸·Î µ¥ÀÌÅÍ Å©±â¸¦ ½á¾ßµÈ´Ù°í.
- IP´Â INT UNSIGNED·Î ÀúÀåÇØ!! (¾ÆÁÖ °ø°¨)
 * ÀÌ·² ¶§ ¾²¶ó°í INET_ATON ÇÔ¼ö°¡ ¾Æ¿¹ ³»ÀåµÇ¾î ÀÖÀ½.

PHP¿¡¼­ pconnect ¾²´Â Áþ
- ¾ÆÆÄÄ¡¿¡¼­ Á»ºñ ÇÁ·Î¼¼½º¶óµµ »ý±â¸é ±× Ä¿³Ø¼ÇÀº ±×³É Áõ¹ßÇϴ°žß..
- ¾îÂ÷ÇÇ MySQL Á¢¼Ó ¼Óµµ´Â OracleÀ̳ª PostgreSQL º¸´Ù 10~100¹è ºü¸£´Ù°í.

³Ê¹« °úµµÇÑ DB Ãß»óÈ­ °èÃþÀ» µÎ´Â °Í
- ¾îµð Æ÷Æà ¿­½ÉÈ÷ ÇÒ °Å ¾Æ´Ï¸é Ãß»óÈ­ °èÃþ ¾²Áö¸¶ (ADODB, MDB2, PearDB µî)
- scale out °¡´ÉÇÑ°É ¾²¶ó°í.

½ºÅ丮Áö ¿£Áø ÀÌÇØ ¸ø ÇÏ´Â °Í
- ´ÜÀÏ ¿£Áø¸¸À¸·Î Àüü ¾ÆÅ°ÅØó¸¦ °áÁ¤Çß´Ù¸é ´ëºÎºÐ ÃÖÀûÀÌ ¾Æ´Ô
- ¿£Áø º° Àå´ÜÁ¡À» °øºÎÇÒ °Í
- ARCHIVE : zlibÀ¸·Î ¾ÐÃàÇØÁÖ°í UPDATE ¾È µÇ°í ·Î±× Bulk Insert¿¡ À¯¿ëÇÔ.
- MEMORY : ¼­¹ö Àç½ÃÀÛÇϸé Áõ¹ß. À妽º°¡ HASH³ª BTREE·Î °¡´ÉÇÔ. ÀÓ½Ã, ¿ä¾à µ¥ÀÌÅÍ¿¡ »ç¿ë.
 * ÁÖ°£ top X Å×ÀÌºí °°Àº °Í.
 * ÇÏ¿©Æ° ¸Þ¸ð¸®¿¡ ¹Ú¾Æ³Ö°í ½ÍÀº µ¥ÀÌÅÍ ÀÖÀ¸¸é..

À妽º ·¹À̾ƿô ÀÌÇØ ¸ø ÇÏ´Â °Í
- Á¦´ë·Î À妽º¶û ½ºÅ丮Áö ¿£Áø ¼±ÅÃÇÏ·Á¸é °øºÎ Á» ÇØ
- ¿£ÁøÀº µ¥ÀÌÅÍ¿Í À妽º ·¹Äڵ带 ¸Þ¸ð¸®³ª µð½ºÅ©¿¡ ·¹À̾ƿôÇÏ´Â °É ±¸ÇöÇÑ °Í
- clustered ±¸¼ºÀº µ¥ÀÌÅ͸¦ PK ¼ø¼­¿¡ µû¶ó ÀúÀåÇÔ.
- non-clustered ±¸¼ºÀº À妽º¸¸ ¼ø¼­´ë·Î ÀúÀåÇÏ°í µ¥ÀÌÅÍ´Â ¼ø¼­ °¡Á¤ÇÏÁö ¾ÊÀ½.
- clustered¿¡¼­´Â À妽º¸¸ Ÿ¸é Ãß°¡ÀûÀÎ Á¶È¸ ¾øÀÌ ¹Ù·Î µ¥ÀÌÅÍ °¡Á®¿À´Â °ÍÀÓ.
- ±×·¡¼­ clustered PK´Â ÀÛÀº ³ðÀ¸·Î ÇÒ ÇÊ¿ä°¡ Àִٴ°Å
 * ´Ù¸¥ À妽º´Â °¢ ·¹Äڵ帶´Ù PK¸¦ ¾Õ¿¡ ´õ ºÙÀÌ°Ô µÇ´Ï±î.
 * PK ÁöÁ¤ ¾È ÇÏ¸é ¾Æ¹«·¸°Ô³ª Çعö¸²

Äõ¸® ij½Ã ÀÌÇØ ¸ø ÇÏ´Â °Í
- ¾îÇø®ÄÉÀÌ¼Ç read/write ºñÀ²Àº ¾Ë°í ÀÖ¾î¾ßÁö
- Äõ¸® ij½Ã ¼³°è´Â CPU »ç¿ë°ú Àб⠼º´É °£ÀÇ Å¸Çù
- Äõ¸® ij½Ã Å©±â¸¦ ´Ã¸°´Ù°í Àб⠼º´ÉÀÌ ÁÁ¾ÆÁö´Â°Ô ¾Æ´Ô. heavy read¶óµµ ¸¶Âù°¡Áö.
- °úµµÇÑ CPU »ç¿ëÀ» ¸·±â À§ÇØ ¹«È¿È­ ÇÒ ¶§´Â ij½Ã Ç׸ñµéÀ» ¹¶ÅÖÀÌ·Î ³¯·Á¹ö¸²
- ÇѸ¶µð·Î SELECT°¡ ÂüÁ¶ÇÏ´Â Å×ÀÌºí µ¥ÀÌÅÍ Çϳª¶óµµ º¯°æµÇ¸é ±× Å×À̺í ij½Ã´Â ´Ù ³¯¶ó°£´Ù´Â ¾ê±âÀÓ
- ¼öÁ÷ Å×À̺í ÆÄƼ¼Å´×À¸·Î ó¹æ
 * Product¿Í ProductCount¸¦ ÂÉ°µ´ÙµçÁö..
 * ÀÚÁÖ º¯ÇÏ´Â °Í°ú º¯ÇÏÁö ¾Ê´Â °ÍÀ» ÂÉ°³´Â°Ô Áß¿äÇÏ´Ù ÀÌ ¸»ÀÓ.

Stored Procedure¸¦ ¾²´Â °Í
- ¹«Á¶°Ç ¾²¸é ¾È µÈ´Ù´Â°Ô ¾Æ´Ï°í..
- ÄÄÆÄÀÏ ÇÒ ¶§ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ÀÌÇØ ¸ø ÇÏ°í ¾²¸é Àç¾ÓÀÌ µÈ´Ù ÀÌ ¸».
- ´Ù¸¥ RDBMS¶û ´Ù¸£°Ô connection thread¿¡¼­ ½ÇÇà °èȹÀÌ ¼¼¿öÁü.
- ÀÌ°Ô ¹º ¾ê±â³Ä ÇÏ¸é µ¥ÀÌÅÍ ÇÑ ¹ø °¡Á®¿À°í ¿¬°á ²÷À¸¸é ±×³É CPU ³¶ºñ (7~8% Á¤µµ)ÇÏ´Â ²ÃÀ̶ó´Â °Í.
- À¢¸¸Çϸé Prepared ±¸¹®°ú Dynamic SQLÀ» ½á¶ó.. ¾Æ·¡ °æ¿ì¸¦ Á¦¿ÜÇÏ°í
 * ETL ŸÀÔ ÇÁ·Î½ÃÀú
 * ¾ÆÁÖ¾ÆÁÖ º¹ÀâÇÏÁö¸¸ ÀÚÁÖ ½ÇÇàµÇÁö´Â ¾Ê´Â °Í
 * ÇÑ ¹ø ¿äûÇÒ ¶§¸¶´Ù ¿©·¯¹ø ½ÇÇàµÇ´Â °£´ÜÇÑ °Í (¿¬°áÇÑ »óÅ·Π¿©·¯¹ø ½á¾ß µÈ´Ù´Ï±î)

À妽º Ä÷³¿¡ ÇÔ¼ö ¾²´Â °Í
- ÇÔ¼ö¿¡ À妽º Ä÷³ ³Ö¾î È£ÃâÇÏ¸é ´ç¿¬È÷ À妽º ¸ø ź´Ù
- ÇÔ¼ö¸¦ ¸ÕÀú °è»êÇؼ­ »ó¼ö·Î ¸¸µç ´ÙÀ½¿¡ = ·Î ¿¬°áÇØ¾ß À妽º Å» ¼ö ÀÖ´Ù.
 * ¿©±â ½ÇÇà °èȹ º¸¸é LIKEµµ range type À妽º Ÿ´Â °Í º¸ÀÓ

À妽º »©¸Ô°Å³ª ¾µ¸ð¾ø´Â À妽º ¸¸µé¾î ³õ´Â °Í
- À妽º ºÐÆ÷µµ(selectivity)°¡ ÇãÁ¢ÇÏ¸é ¾È ¾´´Ù.
- S = d/n
 * d = ¼­·Î ´Ù¸¥ °ªÀÇ ¼ö (# of distinct values)
 * n = Å×À̺íÀÇ Àüü ·¹ÄÚµå ¼ö
- ¾µ¸ð¾ø´Â À妽º´Â INSERT/UPDATE/DELETE¸¦ ´À¸®°Ô ÇÒ »Ó..
- FK´Â ¹«Á¶°Ç À妽º °É¾î¶ó. (¹°·Ð FK Á¦¾à °É¸é À妽º ÀÚµ¿À¸·Î »ý±ä´Ù.)
- WHERE³ª GROUP BY Ç¥Çö½Ä¿¡¼­ ¾²ÀÌ´Â Ä÷³Àº À妽º Ãß°¡¸¦ °í·ÁÇÒ °Í
- covering index »ç¿ëÀ» °í·ÁÇÒ °Í
- À妽º Ä÷³ ¼ø¼­¿¡ À¯ÀÇÇÒ °Í!

join ¾È ¾²´Â Áþ
- ¼­ºêÄõ¸®´Â joinÀ¸·Î ÀçÀÛ¼ºÇضó
- Ä¿¼­ Á¦°ÅÇضó
- ÁÁÀº Mysql ¼º´ÉÀ» ³»·Á¸é ±âº»
- ÁýÇÕ ±â¹ÝÀ¸·Î »ý°¢ÇؾßÁö ·çÇÁ µ¹¸®´Â°Å »ý°¢ÇÏ¸é ¾È µÈ´Ù.

Deep Scan °í·ÁÇÏÁö ¾Ê´Â °Í
- °Ë»ö¿£Áø Å©·¯¿ï·¯°¡ ¾µ°í Áö³ª°¥ ¼ö ÀÖ´Ù.
- ÀÌ °æ¿ì °è¼ÓÇؼ­ Àüü ÁýÇÕÀ» Á¤·ÄÇÑ ´ÙÀ½ LIMIT·Î °¡Á®¿Í¾ß ÇÏ´Ï ¹«ÁøÀå ´À·ÁÁø´Ù.
- ¾î¶»°Ôµç ÁýÇÕÀ» ÀÛ°Ô ÁÙÀÎ ´ÙÀ½ °Å±â¼­ LIMIT °É¾î °¡Á®¿Ã °Í

InnoDB Å×ÀÌºí¿¡¼­ WHERE Á¶°ÇÀý ¾øÀÌ SELECT COUNT(*) ÇÏ´Â Áþ
- InnoDB Å×ÀÌºí¿¡¼­´Â Á¶°ÇÀý ¾øÀÌ COUNT(*) ÇÏ´Â°Ô ´À¸®´Ù.
- °¢ ·¹ÄÚµåÀÇ transaction isolationÀ» À¯ÁöÇÏ´Â MVCC ±¸ÇöÀÌ º¹ÀâÇؼ­ ±×·¸´Ù´Â..
- Æ®¸®°Å °É¾î¼­ ¸Þ¸ð¸® ½ºÅ丮Áö ¿£Áø ¾²´Â Å×ÀÌºí¿¡ Åë°è¸¦ º°µµ·Î À¯ÁöÇÏ¸é µÈ´Ù.

ÇÁ·ÎÆÄÀϸµÀ̳ª º¥Ä¡¸¶Å· ¾È ÇÏ´Â °Í
- ÇÁ·ÎÆÄÀϸµ : º´¸ñ ã¾Æ³»±â
- º¥Ä¡¸¶Å· : ½Ã°£¿¡ µû¸¥ ¼º´É º¯È­ ÃßÀÌ Æò°¡, ºÎÇÏ °ßµô ¼ö ÀÖ´ÂÁö Å×½ºÆ®
- ÇÁ·ÎÆÄÀϸµ ÇÒ ¶§´Â ½ÇÁ¦ µ¥ÀÌÅ͸¦ ¿Å°Ü¿Í¼­ ÇÒ °Í
- ¾îµð°¡ º´¸ñÀ̳Ä~ Memory? Disk I/O? CPU? Network I/O? OS?
- ´À¸° Äõ¸® ·Î±×·Î ³²±â±â
 * log_slow_queries=/path/to/log
 * log_queries_not_using_indexes
- º¥Ä¡¸¶Å· ½Ã¿¡´Â ´Ù °íÁ¤½ÃÅ°°í º¯¼ö Çϳª¸¸ ¹Ù²ã°¡¸é¼­ ÇØ¾ß ÇÔ. (Äõ¸® ij½Ã´Â ²ø °Í.)
- µµ±¸¸¦ ½á¶ó~~
 * EXPLAIN
 * SHOW PROFILE
 * MyTop/innotop
 * mysqlslap
 * MyBench
 * ApacheBench (ab)
 * super-smack
 * SysBench
 * JMeter/Ant
 * Slow Query Log

AUTO_INCREMENT ¾È ¾²´Â °Í
- PK¸¦ AUTO_INCREMENT·Î ¾²´Â°Ç ¹«ÁøÀå ÃÖÀûÈ­ µÇ¾î ÀÖÀ½
 * °í¼Ó º´Çà INSERT °¡´É
  * Àá±Ý ¾È °É¸®°í ÀÐÀ¸¸é¼­ °è¼Ó ÇÒ ¼ö ÀÖ´Ù´Â!
- »õ ·¹Äڵ带 ±Ùó¿¡ ³õÀ½À¸·Î½á µð½ºÅ©¿Í ÆäÀÌÁö ´ÜÆíÈ­¸¦ ÁÙÀÓ
- ¸Þ¸ð¸®¿Í µð½ºÅ©¿¡ ÇÖ ½ºÆÌÀ» »ý¼ºÇÏ°í ½º¿ÍÇÎÀ» ÁÙÀÓ

ON DUPLICATE KEY UPDATE¸¦ ¾È ¾²´Â °Í
- ·¹Äڵ尡 ÀÖÀ¸¸é ¾÷µ¥ÀÌÆ®ÇÏ°í ¾øÀ¸¸é Àμ­Æ®ÇÏ°í ÀÌ·± ÄÚµå ÇÊ¿ä¾ø´Ù!! ´Ù ³¯·Á¹ö·Á¶ó!!
- ¼­¹ö¿¡ ºÒÇÊ¿äÇÏ°Ô ¿Ô´Ù°¬´Ù ÇÒ ÇÊ¿ä°¡ ¾ø¾îÁü
- 5-6% Á¤µµ ºü¸§
- µ¥ÀÌÅÍ ÀÔ·ÂÀÌ ¸¹´Ù¸é ´õ Ä¿Áú ¼ö ÀÖÀ½

ÇÏÁö ¸»¾Æ¾ß ÇÒ °Í ÃÑÁ¤¸®
Thinking too small
Not using EXPLAIN
Choosing the wrong data types
Using persistent connections in PHP
Using a heavy DB abstraction layer
Not understanding storage engines
Not understanding index layouts
Not understanding how the query cache works
Using stored procedures improperly
Operating on an indexed column with a function
Having missing or useless indexes
Not being a join-fu master
Not accounting for deep scans
Doing SELECT COUNT(*) without WHERE on an InnoDB table
Not profiling or benchmarking
Not using AUTO_INCREMENT
Not using ON DUPLICATE KEY UPDATEK

Àüü´ñ±Û¼ö 15

  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 11-10-09 00:58

    ¼Ò½ºº¸±â

  • ÁÁ³×.
    ÁÁ¾Æ.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§±×³× 11-10-09 01:22

    ¼Ò½ºº¸±â

  • mysql ¿¡ ±ØÇÑµÈ À̾߱⵵ ÀÖÁö¸¸ ´ëºÎºÐÀÇ DBMS ¿¡ ´Ù ÇØ´çµÇ´Â ³»¿ëµéÀÔ´Ï´Ù.

    ÂÞ¿í ÀÐÀ¸¸é¼­ Á¶±Ý¾¿ Ãß°¡¸¦ Çغ¸¸é

    1 À妽º
    À妽º¸¦ Å¿ì¸é ºü¸£´Ù´Â°ÍÀº ´©±¸³ª ¾Æ´Â »ç½ÇÀÌÁö¸¸ À妽ºµµ ¶È¶ÈÇѳðÀÌ ÀÖ°í Á» ¸ÛûÇÑ ³ðÀÌ ÀÖ½À´Ï´Ù.
    µ¥ÀÌŸ ºñÀ²ÀÌ ±×·¯Çѵ¥¿ä ÀÌ°Ô À妽º ÁÁ´Ù ±×·¯´Ï±ñ ¹«Á¶°Ç °É¾îµÎ¸é¿ä ¿ÉƼ¸¶ÀÌÁ®°¡ ¹ÌÃĹö¸³´Ï´Ù. ±×·¡¼­ ¾Æ¹«°Å³ª ¾µ·Á°í µì´Ï´Ù. ¸ÛûÇÑ À妽º »ç¿ëÇÏ°Ô µÇ¸é Áã¾àÀÔ´Ï´Ù. (¿ÉƼ¸¶ÀÌÁ®°¡ ¶È¶ÈÇÏ¸é ±×°Í¸¶Á®µµ ¼±º°Çؼ­ »ç¿ëÇÏ°ÚÁö¸¸...)
    ±×·¯´Ï À妽º ÁÁ´Ù°í ¹«Á¶°Ç ¸¸µéÁö ¸¶¼¼¿ä,

    2. Å×ÀÌŸ ŸÀÔ, Á¤±ÔÈ­
    µ¥ÀÌŸ ŸÀÔÀº Á¤¸» ÇØ´ç µ¥ÀÌŸ¿¡ °¡Àå Á¢ÇÕÇÑ °ÍÀ» ¾²½Ã°í
    ¿Ø¸¸Çϸé ÇϳªÀÇ row ¸¦ ÀÛ°Ô ¸¸µé¾î¾ß ÇÕ´Ï´Ù.
    ¶È°°Àº µ¥ÀÌŸ·Î ¿·À¸·Î ±ä°Åº¸´Ù ¾Æ·¡·Î ±ä°Ô ÈξÀ È¿À²ÀûÀÔ´Ï´Ù.
    Àü¿¡ °¡²û ÇÑ Å×ÀÌºí¿¡ Ä÷³ ¸î°³±îÁö ¸¸µé¼ö ÀÖ´À³Ä ±×·¯´Â°É º¸¸é¼­ ´À³¢´Â °ÍÀº Âü ÇѽÉÇÏ´Ù´Â °Í
    Àý´ë ¿·À¸·Î ±æ°Ô ¸¸µéÁö ¸¶¼¼¿ä

    3. mysql ¼Óµµ (Áö³ª°¡´Â ¸», ±Ùµ¥  ¿ø¹®´Ù½Ã º¸´Ï ½ÇÇà¼Óµµ°¡ ¾Æ´Ï¶ó Á¢¼Ó¼Óµµ±º¿ä...)
    ¾Æ±î like %°Ë»ö¾î% ÀÌ°Å Å×½ºÆ® ÇÑ´Ù°í mysql ¿¡¼­µµ Å×½ºÆ® ÇØ º¸¾Ò½À´Ï´Ù.
    ¶È°°Àº ÀÚ·á·Î ¶È°°Àº Äõ¸®¹®À» ¶È°°Àº ½Ã½ºÅÛ¿¡¼­ ¶È°°ÀÌ À妽º ¾øÀÌ ½ÃÇàÇØ º¸¾Ò½À´Ï´Ù.
    pgsql 9.1.1, mysql Àº 5.5.x (°ÅÀÇ ÃֽŠ¹öÁ¯ÀÔ´Ï´Ù.)
    ¾Æ¹«·± À妽º 잆ÀÌ ½ÃÇàÇØ º» °á°ú myisam, innodb, ±×¸®°í pgsql
    pgsql ÀÌ ´õ »¡¶ú½À´Ï´Ù. (Äõ¸®Ä³½Ã ¹ÌÀû¿ë, Å×½ºÆ®¹æ¹ýÀÌ À߸øµÇ¾ú´ÂÁö´Â ¸ð¸£°ÚÁö¸¸¼­µµ..) Å×½ºÆ® ÀÚ·á 16¸¸°Ç ½Ç °Ô½Ã¹° º»¹®°Ë»ö,  Áö±ÝÀº mysql ÀÌ Á¦ÀÏ ºü¸£´Ù´Â Æí°ß ¹ö¸®¼¼¿ä
    ÀÌ À̾߱â´Â mysql ÀÌ ³ª»Ú´Ù ¶ó´Â ¸»À» ÇÒ·Á°í Çϴ°ÍÀÌ ¾Æ´Ï¶ó
    mysql ÀÌ´Ï ºü¸£´Ï±ñ ±×°Å¸¸ ¹ÏÁö ¸»°í Å×ÀÌºí±¸Á¶, À妽º µî ½Å°æÀ» ¾²½Ã¶ó´Â Àǹ̷Π¹Þ¾ÆÁÖ¼¼¿ä

    4 µðºñ Ãß»óÈ­
    ÀÌ ¹®Á¦´Â µðºñº¸´Ù´Â ÇÁ·Î±×·¥´Ü(À¥¼­¹ö´Ü) ÀÇ ¹®Á¦·Î º¸¿©Áý´Ï´Ù.

    5. ÇÔ¼ö»ç¿ë
    Æû Á» ³» º¼·Á°í ÇÔ¼öµé ¸¶±¸¸¶±¸ ¸¸µé¾î¼­ ¸¹ÀÌ »ç¿ëÇÏ´Â »ç¶÷µé ÀÖ½À´Ï´Ù.
    ÇÔ¼ö´Â ¾Æ¹«°÷¿¡³ª ¾²´Â°Ô ¾Æ´Õ´Ï´Ù. ÇÔ¼ö´Â ÇÔ¼ö°¡ ÇÊ¿äÇÑ °÷ÀÌ ÀÖÀ¸¸ç, ±× ¾²ÀÓµµ »ó´çÈ÷ Á¦ÇÑÀûÀÔ´Ï´Ù.
    Äõ¸®¹®¿¡ Çѹø ÇÔ¼ö ¾²´Â°Å.. select µÈ Àü ·Î¿ì¿¡ ´Ù ¿µÇâÀ» Á༭ ½Ã½ºÅÛ ÄÝÀÌ ¸¹ÀÌ ¹ß»ýÇÕ´Ï´Ù.
    µðºñ½Ã½ºÅÛÀÇ ¼Óµµ´Â I/O ¿Í ½Ã½ºÅÛÄÝÀ» ÁÙÀϼö·Ï »¡¶óÁý´Ï´Ù.

    6. FK ¿¡ ´ëÇÏ¿©
    mysql ¿¡¼­´Â Àß ¸ð¸£°Ú´Âµ¥ º¸Åë ÂüÁ¶Å°¸¦ °É°ÔµÇ¸é parent ´Â ´ç¿¬ unique ÇØ¾ß ÇÏ´Ï À妽º°¡ °É·Á ÀÖ¾î¾ß ÇÕ´Ï´Ù¸¸ ÂüÁ¶ÇÏ´Â chiild ÀÇ °æ¿ì¿¡´Â Á¦¾à Á¶°Ç¸¸ ÀÖ°í À妽º°¡ ÀÚµ¿ °É¸®Áö ¾Ê½À´Ï´Ù.
    ²À È®ÀÎÇϽðí Á÷Á¢ °É¾îÁÖ¾î¾ß ÇÕ´Ï´Ù.


    7. À߸ø ¾Ë°í ÀÖ´Â °Í Çϳª ¾ð±ÞÇÕ´Ï´Ù.
    Äõ¸®¹®ÀÌ ±æ¸é ¼Óµµ°¡ ´À·ÁÁú°Å¶ó´Â »ý°¢À» °¡Áö°í ÀÖ´Â »ç¶÷µéÀÌ Àִ°Š°°½À´Ï´Ù.
    Äõ¸®¹®ÀÌ ±æ´Ù°í ¼Óµµ°¡ ´À·ÁÁö´Â°Ç ¾Æ´Õ´Ï´Ù. Äõ¸®¹®ÀÌ ¾ó¸¶³ª È¿À²ÀûÀ¸·Î Â¥¿©Á³³ª°¡ ¹®Á¦Áö
    Äõ¸®¹® ±æÀÌ¿Í´Â º°·Î ¿¬°ü¼ºÀÌ ¾øÀ½À» ÀÎÁöÇϽðí
    ¾Æ¿ï·Á Á¶ÀÎÇÏ¸é ´À·ÁÁø´Ù´Â »ç¶÷µéµµ °£È¤ ÀÖ½À´Ï´Ù. ¾îµð¿¡¼­ ±×·± À̾߱Ⱑ ³ª¿Ô´ÂÁö´Â ¸ð¸£°ÚÁö¸¸
    õ¸¸¿¡ ¸¸¸¸ÀÇ ¸»¾¸ÀÔ´Ï´Ù.
    Á¶ÀξÈÇÏ°í ¿ªÁ¤±ÔÈ­Çؼ­ ÇÊ¿äÇÑ Ä÷³À» º» Å×ÀÌºí¿¡ ºÙÀ̸é¿ä
    Á¶ÀξøÀÌ ±×³É select ¸¸ ÇÏ°Ô µÇ´Ï ºü¸¦°Å °°Áö¸¸¿ä Àý´ë ¾Æ´Õ´Ï´Ù.
    ±×·¸°Ô µÇ¸é row Å©±â°¡ Áõ°¡Çؼ­ µð½ºÅ© I/O °¡ ´õ ¸¹ÀÌ ¹ß»ýÇÕ´Ï´Ù.
    µ¥ÀÌŸ Å©±â ÁÙÀϼö ÀÖ´Ù¸é ÃÖ´ëÇÑ ÁÙÀÌ½Ã±æ ¹Ù·¡¿ä. Á¶ÀÎÇÏ¸é ´À·ÁÁø´Ù´Â ¸Á»óÇÏÁö ¸¶½Ã°í¿ä
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§½Ã¿ìã¿éë 11-10-09 02:55

    ¼Ò½ºº¸±â

  • Mysql ¾²´Âµ¥ À妽º¸¦ ¾û¶×ÇÑ °É »ç¿ëÇϱ⿡ ¾îÀÌ ¾ø¾î¼­...
    ±× ÀÌÈÄ·Î USE INDEX() ¸¦ »ç¿ëÇØ °­Á¦·Î Àû¿ë½ÃÅ°°í ÀÖ½À´Ï´Ù.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§±×³× 11-10-09 18:32

    ¼Ò½ºº¸±â

  • Á¶Àο¡ ´ëÇÑ ÇÑ°¡Áö Ãß°¡ÇØ º¾´Ï´Ù.

    select ÇÏÁö ¾Ê´Â Å×À̺í°úÀÇ Á¶ÀÎÀÌ ÇÊ¿äÇÒ °æ¿ì¿¡´Â
    from Àý¿¡¼­ ³ª¿­ÇÏÁö ¸»°Í! ÀÔ´Ï´Ù.

    ¿©±â¼­ Á¶ÀÎÀº ¿©·¯°¡Áö Àǹ̰¡ ÀÖ½À´Ï´Ù.
    ´Ü¼øÈ÷ inner, outer, cross  µîÀÇ Á¶ÀÎ ±¸¹®À» »ç¿ëÇϴ°ÍÀ» Æ÷ÇÔÇÏ¿©
    µ¥ÀÌŸ¸¦ ¼­·Î ¿¬°áÇÑ´Ù´Â Àǹ̷Πº¸¼Å¾ß ÇÕ´Ï´Ù.
    union, ÇÁ·Î½ÃÁ®È£Ãâ, in, subquery, exists µîµîÀÌ ¸ðµÎ Á¶Àο¡ ÇØ´çµË´Ï´Ù.

    ¾Æ¹«Æ° select ¿¡ ÇÊ¿äÇÏÁö ¾Ê´Â Å×À̺íÀº from Àý¿¡¼­ »© Áֽô°Ô
    ¾µµ¥¾ø´Â µå¶óÀ̺ùÀ» ¸·¾Æ ºÒÇÊ¿äÇÑ I/O ¸¦ ÁÙ¿©ÁÝ´Ï´Ù.

    ¿¹¸¦ µé¸é
    select b.no, b.name
    from a, b
    where a.no = b.no
      (and ...... µîµî Á¶°Çµé)

    ÀÌ·¸°Ô ÀÛ¼º ÇÏÁö ¸»¶ó´Â... (ÀÌ·± ½ºÅ¸ÀÏ Á¤¸» ¸¹ÀÌ º¾´Ï´Ù....)
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¸Û±× 11-10-10 11:11

    ¼Ò½ºº¸±â

  • ÁÖ¿Á°°Àº ±Û¿¡ ÁÖ¿Á°°Àº ÄÚ¸àÆ®³×¿ä..
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¾ËÂùµ¹»ß 11-10-10 21:05

    ¼Ò½ºº¸±â

  • ÁÁ³×¿ä.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§"Develop"+"er" 11-10-11 20:52

    ¼Ò½ºº¸±â

  • ¿ì¿Í °¨»çÇÕ´Ï´Ù~
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§À׿©Å· 11-10-12 16:16

    ¼Ò½ºº¸±â

  • ÁÁÀº Á¤º¸ °¨»çÇÕ´Ï´ç.. ¸¹Àº µµ¿ò µÇ¾ú½À´Ï´Ù!^^
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¶ò°¡¶ò°¡»× 11-10-13 15:34

    ¼Ò½ºº¸±â

  • ÁÁÀº ±Û °¨»çÇÕ´Ï´Ù...^^:
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§½ºÅ¸ºó 11-10-17 11:39

    ¼Ò½ºº¸±â

  • À§ÀÇ Á¶Àΰú Á¤±ÔÈ­ ºÎºÐ¿¡¼­´Â ½ÇÁ¦ »ç·Ê¿¡¼­´Â Àú·¸°Ô ¾²´Â°Ô Á¤´äÀÌ ¾Æ´Ò °æ¿ìµµ Âü ¸¹¾Æ¿ä.

    ¿¹¸¦ µé¸é, 100¸¸°Ç Á¶ÀÎÇϸé Äõ¸® Á×¾î ³³´Ï´Ù.
    Å×À̺íÀ» ³ª´©Áö ¾Ê°í 1°³ÀÇ Å×À̺í·Î °¡´Â°ÍÀº Á¶ÀÎÀÇ ÇÑ°è ¶§¹®¿¡ Å°¿Í °ªÀ¸·Î ±¸ºÐÇÏ´Â ÇØ°á ¹æ¹ýÀ¸·Î ¾²°í ÀÖ´Â No-SQL¿¡ ´ëÇÑ °³³ä°ú °¡±õ½À´Ï´Ù. ¼¼¼¼ÇÏ°Ô µé¾î°¡¸é ´Ù¸¥ ºÎºÐµµ ¸¹Áö¸¸..

    À§ÀÇ ±Û¿¡¼­ join ¾È ¾²´Â Áþ. Á¤±ÔÈ­ ¾È ÇÏ´Â °ÍÀº °¡À̵å´Â ¸Â°ÚÁö¸¸, Áø¸®°¡ ¾Æ´Ï¶ó´Â ...
    ÁÁÀº ±Û Àß º¸°í °©´Ï´Ù.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§½ÅÀÇ»ð 11-10-17 12:16

    ¼Ò½ºº¸±â

  • ÁÁÀº±Û °¨»çÇÕ´Ï´Ù. ¸¹Àº µµ¿òµÇ¾ú½À´Ï´Ù.
    ij½Ì°ú À妽º ·¹À̾ƿô ÀÌÇØ¿¡ Á» µµ¿òµÉ¸¸ÇÑ ¼­Àû ¾Æ½Ã¸é ÃßõÁ» ºÎŹµå¸³´Ï´Ù.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¾ß¿Ë¾Æ¸Û¸ÛÇغÁ 11-10-18 16:27

    ¼Ò½ºº¸±â

  • °¨»çÇÕ´Ï´Ù. Àß º¸°í °©´Ï´Ù~
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§³ë¸¶ 11-10-27 10:49

    ¼Ò½ºº¸±â

  • Á¤¸» ÁÁÀº ±ÛÀ̳׿ä... ´Ù¸¥ ºÐµéµµ ÀÌ°É Âü°íÇϼż­ ¾±¾±~ ³¯¶ó´Ù´Ï´Â DB ±¸¼ºÇϽñæ... Àúµµ Á» Âñ¸®´Â ºÎºÐÀÌ ¸î ±ºµ¥ ÀÖ´øµ¥¿ä..¤»Ç±~
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§Â¯²²¸ÔÀ»¶§·¦Àº¹þ±âÀÚ 12-04-10 16:00

    ¼Ò½ºº¸±â

  • ÁÁÀºÁ¤º¸ °¨»çÇÕ´Ï´Ù.
  • ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§ArchEviL¢â 17-07-29 11:37

    ¼Ò½ºº¸±â

  • - IP´Â INT UNSIGNED·Î ÀúÀåÇØ!! (¾ÆÁÖ °ø°¨)
     * ÀÌ·² ¶§ ¾²¶ó°í INET_ATON ÇÔ¼ö°¡ ¾Æ¿¹ ³»ÀåµÇ¾î ÀÖÀ½.

    ÀÌ ºÎºÐÀº Á» »ý°¢ÇØ¾ß ÇÒ °Ô, ÀÌ¹Ì IPv4°¡ °í°¥µÇ¾î¼­ IPv6À¸·Î ÀÌÇà ´Ü°è¿¡ ¿Í ÀÖ°í(IPv6Àº ¹«·Á 128ºñÆ®ÀÔ´Ï´Ù. INT´Â ¹°·ÐÀÌ°í BIGINT·Îµµ ¸ø ´ã½À´Ï´Ù), ¿ø¹® ÀÛ¼ºÀÚ´Â IPv6À» ²ô¶ó°í ±ÇÀåÇÏ´øµ¥ ÀÌ·¯¸é ³×ÀÌƼºê·Î IPv6 ÁÖ¼Ò¸¦ °®°í ÀÖ´Â ±â±â´Â »ç¿ëÀÌ ºÒ°¡ÇÏ°Ô µË´Ï´Ù.

    VARBINARY Ä÷³¿¡ HEX(INET6_ATON(addr)) °°Àº½ÄÀ¸·Î ´ã´Â °Ô ´õ ÁÁÀ» µíÇÕ´Ï´Ù(µµ·Î °¡Á®¿Ã ¶§´Â INET6_NTOA(UNHEX(addr))·Î).
  • °Ô½Ã¹° 13,194°Ç RSS
¹øÈ£ºÐ·ùÁ¦¸ñ±Û¾´À̳¯Â¥Á¶È¸
13,194 HTML ui_treemap ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 24-04-23 156
13,193 HTML scrollbars styling ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 24-02-29 361
13,192 HTML responsive-font-size . µ¿Àû ÆùÆ® Å©±â ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 24-02-06 411
13,191 ºê¶ó¿ìÀú console.table() console.* ±â´É ¸¹³×¿ä. [4] ¸µÅ© ÷ºÎÆÄÀÏ ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¼ÛÈ¿Áø 24-02-05 423
13,190 ½ºÅ©¸³Æ® ¼ýÀÚ¸¸ ÀԷµǰí ÀÚµ¿ ÇÏÀÌÇÂÀ» ÀԷ½ÃÅ°´Â ÀüÈ­¹øÈ£ ½ºÅ©¸³Æ®ÀÔ¡¦ [4] Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§15³â¸¸¿¡°øºÎ 23-11-17 1341
13,189 ½ºÅ©¸³Æ® js scrollIntoView [3] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¼ÛÈ¿Áø 23-11-16 545
13,188 HTML ui_valueTooltip [2] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 23-11-10 481
13,187 HTML css thumbnail--fallback - src ¼Ó¼ºÀÌ ¾ø°Å³ª, src °¡ ºñ¾ú°Å³ª¡¦ [3] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¼ÛÈ¿Áø 23-09-14 609
13,186 ºê¶ó¿ìÀú [±¸±Û ¼­Ä¡ ÄܼÖ] ÄÜÅÙÃ÷ ÆøÀÌ È­¸é Æøº¸´Ù ³ÐÀ½ ÇØ°á ¹æ¹ý [2] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¸í¶ûÆóÀÎ 23-08-31 942
13,185 HTML mask-* , -webkit-mask-* , mask-composite , -webkit-mask-comp¡¦ [1] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§°ø´ë¿©ÀÚ 23-08-16 434
13,184 ±âŸ °íµµ¸ô5Pro ¿¡¼­ ¼Ò½º ¼öÁ¤ÇÏ´Â ¹æ¹ý - ±âÃÊ [7] Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¸í¶ûÆóÀÎ 23-04-06 2172
13,183 ¼³Ä¡/¼³Á¤ php79 stack 1.3.0 - Rocky Linux 8 Áö¿ø [21] ¸µÅ© Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§ºó°æÀ± 23-02-07 1428
13,182 ±âŸ ¸®¾×Æ®PHP ¸¦ ¼Ò°³ÇÕ´Ï´Ù [4] ¸µÅ© Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§php»ç¶ûÀÌ 23-02-03 2750
13,181 ½ºÅ©¸³Æ® º¹ÀâÇÏ°í ±ÍÂúÀº db where ¹® ¸¸µé±â helper [2] ¸µÅ© Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§php»ç¶ûÀÌ 23-02-03 1291
13,180 ½ºÅ©¸³Æ® º¹ÀâÇÑ Æû µ¥ÀÌÅÍ Ã¼Å© Çϱâ [2] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§php»ç¶ûÀÌ 23-02-03 919
13,179 ½ºÅ©¸³Æ® datalist ·Î Æû À̸ÞÀÏ ÀÚµ¿¿Ï¼º [3] ¸µÅ© ±â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¼ÛÈ¿Áø 23-01-31 715
13,178 ºê¶ó¿ìÀú [10¿ø ÆÁ] Chrome ÀÚµ¿¿Ï¼º ºÎºÐ Á¦°Å [1] Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§WikixUnknown 22-11-21 1100
13,177 ±âŸ ¿¢¼¿ÆÄÀÏ ¾Ïȣȭ [4] Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§Áö³ª°¡´ÂÀÚ 22-10-19 1245
13,176 Á¤º¸ ¶ó¶óº§ CRUD + Excel ±â´É Á¤¸® [1] ¸µÅ© Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§µª½Â 22-08-29 1461
13,175 ¼³Ä¡/¼³Á¤ [10¿øÆÁ] PHP7.4 ¿¡¼­ xdebug ÀÇ »ç¿ë½Ã ÁÖÀÇ»çÇ× [3] ¸µÅ© ÷ºÎÆÄÀÏ Àα⠱â¼ú·¹º§Ä¿¹Â´ÏƼ·¹º§¸í¶ûÆóÀÎ 22-08-27 1657
 
1 2 3 4 5 6 7 8 9 10