¡Ø ±¤°í¼º±ÛÀº »çÀü µ¿ÀÇ ¾øÀÌ »èÁ¦ ÇÕ´Ï´Ù.
  [MySQL] 5.1ÀÇ InnoDB¿¡¼­ MySQL Å×À̺í ÃÖÀûÈ­Çϱ⠹øÈ£ : 537 ¹ø±Û        Á¶È¸ : 631 ȸ
ÀÛ    ¼º    ÀÚ : Ȳȫ±¸  ¸ÞÀÏ º¸³»±â

¶§¶§·Î MySQL 5.1 µ¥ÀÌÅͺ£À̽º´Â ¸î°¡Áö °ü¸® ÀÛ¾÷À» ¼öÇàÇØ¾ß ÇÑ´Ù. ³» °æ¿ì¸¦ ¿¹·Î µé¸é, ¿î¿µ¼­¹ö¿¡¼­ °Ü¿ì 400k ÇàÀ» °¡Áø µÎ °³ÀÇ Å×À̺íÀ» Á¶ÀÎÇÏ´Â °£´ÜÇÑ Äõ¸®¹®À» ½ÇÇàÇϴµ¥ ³Ê¹« ¿À·¡ °É¸®´Â °æ¿ì°¡ ÀÖ¾ú´Ù. ½ÇÁ¦·Î ÀÌ Äõ¸®¹®ÀÌ ½ÇÇàµÇ´Âµ¥ ¾à 30ÃÊ¿¡¼­ 100ÃÊ °¡·®ÀÌ °É·È´Ù. Å×½ºÆ®¿Í °Ë¼öÀÛ¾÷ ÈÄ¿¡ 58ms·Î ó¸® ½Ã°£À» ÁÙ¿´´Ù. Äõ¸®¹®ÀÇ Ä÷³Àº ÀÌ¹Ì À妽º°¡ »ý¼ºµÇ¾î ÀÖ¾ú±â ¶§¹®ÀÌ´Ù. ÀÌ Á¤µµ 󸮼ӵµ¶ó¸é ´ÙÇàÈ÷µµ »ç¿ëÀÚµéÀÌ ºÒÆíÇØ ÇÏ´Â Á¤µµ´Â ¾Æ´Ï¿´Áö¸¸, ³ª´Â ÀÌÁ¤µµ ó¸® ¼Óµµµµ ±¦È÷ ¼º°¡½Ã°Ô ´À²¸Á³´Ù. ÇØ°áÃ¥Àº °£´ÜÇߴµ¥, ¸î°¡Áö ¸í·É¹®À» ½ÇÇàÇؼ­ Á¤¸® ÀÛ¾÷À» ÇÏ¸é µÇ¾ú±â ¶§¹®ÀÌ´Ù. ÀÌ Á¤¸®ÀÛ¾÷À» ÇÏ°í ³ª´Ï, µ¿ÀÏÇÑ Äõ¸®¹®À» ¿î¿µ¼­¹ö¿¡¼­ ½ÇÇàÇϴµ¥ °Ü¿ì 4.8ms ¹Û¿¡ °É¸®Áö ¾Ê°Ô µÇ¾ú´Ù. Á¤¸»ÀÌÁö ¸¸Á·½º·¯¿î °á°ú¿´´Ù.

³»°¡ ÇÑ Àϵé

  • Backup - µ¥ÀÌÅͺ£À̽º ¹é¾÷Çϱâ
  • Check - µ¥ÀÌÅͺ£À̽º üũÇϱâ
  • Optimize - µ¥ÀÌÅͺ£À̽º ÃÖÀûÈ­Çϱâ
  • Analyze - µ¥ÀÌÅͺ£À̽º ºÐ¼®Çϱâ

mysqldump -u root -p --create-options --routines --triggers dbname > ./db.dmp

# note these cause LOCKS, so be careful on your production server!

$ mysqlcheck -u root -p --check --databases dbname

$ mysqlcheck -u root -p --optimize --databases dbname

$ mysqlcheck -u root -p --analyze --databases dbname


 

°¢ ¼öÇà ´Ü°èµé¿¡ ´ëÇÑ »ó¼¼ ¼³¸í

1. ¸ÕÀú mysqldump ¸í·É¹®À» ÀÌ¿ëÇؼ­ µ¥ÀÌÅͺ£À̽º¸¦ ¹é¾÷ÇÑ´Ù.

ÇÁ·Î½ÃÁ® ¶Ç´Â ÇÔ¼ö°¡ ÀÖ´Ù¸é ¹Ýµå½Ã -routines ÀÎÀÚ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù. ¶ÇÇÑ Æ®¸®°Å¸¦ »ç¿ëÇÑ´Ù¸é ¹Ýµå½Ã -triggers ÀÎÀÚ¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

 

$ mysqldump -u root -p --create-options --routines --triggers dbname > ./db.dmp

# copy to another server

$ scp ./db.dmp user@somehost:~/

¿©±â¿¡ ´õÇؼ­ ´Ù¸¥ ½Ã½ºÅÛ¿¡¼­ ¹é¾÷ÇÑ µ¥ÀÌÅͺ£À̽º¸¦ ½ÇÁ¦·Î Àç»ý¼ºÇÏ¿© ¹é¾÷ÀÌ Á¤È®ÇÑÁö È®ÀÎÇØ¾ß ÇÑ´Ù.

¸¸¾à µ¥ÀÌÅͺ£À̽º°¡ ³Ê¹« Ä¿´Ù¸é ÀÌó·³ µ¥ÀÌÅͺ£À̽º Àüü¸¦ ¹é¾÷ÇÏ´Â ÀÏÀº »ç½Ç ºÒ°¡´ÉÇÏ´Ù. ÇÏÁö¸¸ µ¥ÀÌÅͺ£À̽º°¡ ³Ê¹« Å©´Ù¸é, ÀÌ¹Ì º¹Á¦ ¼­¹ö¸¦ ±¸ÃàÇؼ­ ¹é¾÷ ½Ã½ºÅÛÀ» È°¿ëÁßÀÏ °ÍÀÌ´Ù.

2 Check

 

Å×ÀÌºí ¹«°á¼ºÀ» °Ë»çÇÑ´Ù.

http://dev.mysql.com/doc/refman/5.1/en/check-table.html

´ÜÀÏ Å×ÀÌºí¿¡ ´ëÇØ °Ë»ç¸¦ ÇÏ·Á¸é:

mysql> CHECK TABLE {table name};

Äֿܼ¡¼­ µ¥ÀÌÅͺ£À̽ºÀÇ Àüü Å×À̺íÀ» °Ë»çÇÏ·Á¸é :

$ mysqlcheck -u root -p --check --databases dbname

Å×ÀÌºí ¹«°á¼º °Ë»ç´Â Á¤±âÀûÀ¸·Î ÇÏ´Â °ÍÀÌ ÁÁ´Ù.

3. Optimize

´ÜÆíÈ­ Á¦°Å ÀÛ¾÷(defrag operation)°ú °°ÀÌ, optimize table ¸í·É¹®À» »ç¿ëÇÏ¸é »ç¿ëÇÏÁö ¾ÊÀº °ø°£À» ȸ¼öÇÒ ¼ö ÀÖ´Ù. MyISAM ¿£Áø¿¡¼­´Â optimize ¸í·É¹®Àº ¸»±×´ë·Î ´ÜÆíÈ­ Á¦°Å ÀÛ¾÷¸¸À» ¼öÇàÇÑ´Ù. ¹Ý¸é InnoDB ¿£ÁøÀÇ °æ¿ì ³»ºÎÀûÀ¸·Î ALTER TABLE¹®À» ½ÇÇàÇÏ¿©, MySQL ¼­¹ö¿¡ ´ëÇØ Å×À̺í°ú À妽º¸¦ Àç»ý¼ºÇϵµ·Ï ¿äûÇÑ´Ù.

http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html

´ÜÀÏ Å×ÀÌºí¿¡ ´ëÇØ optimize¸¦ ÇÏ·Á¸é:

mysql> OPTIMIZE TABLE {table name};

Äֿܼ¡¼­ µ¥ÀÌÅͺ£À̽ºÀÇ Àüü Å×À̺íÀ» optimize¸¦ ÇÏ·Á¸é:

$ mysqlcheck -u root -p --optimize --databases dbname

¸¸¾à InnoDB¶ó¸é °á°ú¿¡ "Table does not support optimize, doing recreate + analyze instead¡± ¸Þ½ÃÁö°¡ ³ª¿Â´Ù.

4. Analyze

analyze¸¦ ½ÇÇàÇϸé À妽º¸¦ Àç»ý¼ºÇÏ¿© ¼º´ÉÀ» ÃÖÀûÈ­Çϴµ¥, Å°¸¦ ÀçºÐ¹èÇϱ⠶§¹®ÀÌ´Ù. ¸¸¾à À妽º°¡ Á¦´ë·Î »ý¼ºµÇ¾î ÀÖÀ½¿¡µµ slow query°¡ ¹ß»ýÇÑ´Ù¸é, analyze¸¦ ½ÇÇàÇÏ´Â °ÍÀ» °í·ÁÇØ º¼¸¸ÇÏ´Ù. analyze¸¦ ½ÇÇàÇϸé read ¶ôÀÌ °É¸°´Ù. ¸¸¾à ¸ðµç Å×À̺íÀÌ InnoDB ¿£ÁøÀ» »ç¿ëÇÑ´Ù¸é, optimize °úÁ¤¿¡ ÀÌ¹Ì analyze°¡ Æ÷ÇԵǾî ÀÖ´Ù.

http://dev.mysql.com/doc/refman/5.1/en/analyze-table.html

´ÜÀÏ Å×ÀÌºí¿¡ ´ëÇØ analyze¸¦ ÇÏ·Á¸é:

mysql> ANALYZE TABLE {table name};

Äֿܼ¡¼­ µ¥ÀÌÅͺ£À̽ºÀÇ Àüü Å×À̺íÀ» analyze¸¦ ÇÏ·Á¸é:

$ mysqlcheck -u root -p --analyze --databases dbname

InnoDB¿¡¼­ analyze¸¦ ÇÏ´Â °æ¿ì, ¸î°¡Áö ƯÀÌÁ¡ÀÌ ÀÖ´Ù. ƯÈ÷ analyzer°¡ ÃëÇÏ´Â »ùÇÃÀÇ °¹¼ö°¡ ´Ù¸¦ ¼ö ÀÖ´Ù´Â Á¡ÀÌ´Ù(»ùÇÃÀÇ °¹¼ö´Â innodb_stats_sample_pages ¿É¼ÇÀ¸·Î ¼³Á¤ÇÒ ¼ö ÀÖ´Ù). ±âº»°ªÀÌ ¸Å¿ì À۱⠶§¹®¿¡, analyze¸¦ ¿©·¯¹ø ½ÃµµÇÏ°Ô µÉ ¶§, ±×¶§¸¶´Ù °á°ú°¡ ´Þ¶óÁú ¼öµµ ÀÖ´Ù.

´õ ÀÚ¼¼ÇÑ ³»¿ëÀº ¾Æ·¡¸¦ ÂüÁ¶Ç϶ó.

http://dev.mysql.com/doc/refman/5.1/en/innodb-restrictions.html 

¸Þ¸ð³²±â±â ÇÑ±Û 150ÀÚ ¿µ¹®300ÀÚ À̳»
ÀÛ¼ºÀÚ         Æнº¿öµå                ÇöÀç  0 byte
[°ü·Ã±Û] ¾øÀ½ ÀÛ¼ºÀϽà : 2020-04-09 19:35:10
Copyright(c) 2003 xirom all right reserved vol.3
Contact xirom@xirom.net form more information