MySQL´æ´¢ÒýÇæ InnoDBÓëMyISAMµÄÇø±ð

ʱ¼ä£º2016.04.17 ·¢²¼ÈË£ºi**ana

MySQL´æ´¢ÒýÇæ InnoDBÓëMyISAMµÄÇø±ð

Òѽâ¾öÎÊÌâ

¹È¸èi**anaÓû§ÔÚ2016.04.17Ìá½»Á˹ØÓÚ¡°Í¬¼Ã´óѧMySQL´æ´¢ÒýÇæ InnoDBÓëMyISAMµÄÇø±ð¡±µÄÌáÎÊ£¬»¶Ó­´ó¼ÒÓ¿Ô¾·¢±í×Ô¼ºµÄ¹Ûµã¡£Ä¿Ç°¹²ÓÐ1¸ö»Ø´ð£¬×îºó¸üÐÂÓÚ2025-02-27T11:51:43¡£Ï£Íû´ó¼ÒÄܹ»°ïÖúËý¡£

ÏêϸÎÊÌâÃèÊö¼°ÒÉÎÊ£ºÆÚ´ýÄúµÄ´ð°¸£¬ÄãÎÞÒìÓÚÑ©ÖÐËÍÌ¿,ÈÃÎҸм¤ÌéÁã £¡

Ï£ÍûÒÔϵĻشð£¬Äܹ»°ïÖúÄã¡£

µÚ1¸ö»Ø´ð

Óû§Ãû£ºhotancex  

¡¡¡¡InnoDBºÍMyISAMÊÇÐí¶àÈËÔÚʹÓÃMySQLʱ×î³£ÓõÄÁ½¸ö±íÀàÐÍ£¬ÕâÁ½¸ö±íÀàÐ͸÷ÓÐÓÅÁÓ£¬ÊÓ¾ßÌåÓ¦Óöø¶¨¡£

¡¡¡¡»ù±¾µÄ²î±ðÊöͳ×Ü×Ó¼ÒÓÒ²ÎÖ¯¼ùµÛ£ºMyISAMÀàÐͲ»Ö§³ÖÊÂÎñ´¦ÀíµÈ¸ß¼¶´¦Àí£¬¶øInnoDBÀàÐÍÖ§³Ö¡£MyISAMÀàÐ͵ıíÇ¿µ÷µÄÊÇÐÔÄÜ£¬ÆäÖ´ÐÐÊý¶È±ÈÕô·­ÊÂÔçInnoDBÀàÐ͸ü¿ì£¬µ«ÊDz»ÌṩÊÂÎñÖ§³Ö£¬¶øInnoDBÌṩÊÂÎñÖ§³ÖÒÔ¼°Íⲿ³§¶«°®»ØÒýµÚÉó¼üµÈ¸ß¼¶**¿â¹¦ÄÜ¡£

¡¡¡¡¸Å·¿×ãѵÒÔÏÂÊÇһЩϸ½ÚºÍ¾ßÌåʵÏֵIJî±ð£º

¡¡¡¡1.InnoDB²»Ö§³ÖFULLTEXTÀàÐ͵ÄË÷Òý¡£

¡¡¡¡2.InnoDBÖв»±£´æ±íµÄ¾ßÌåÐÐÊý£¬Ò²¾ÍÊÇ˵£¬Ö´ÐÐselectÊô»¹count(*)fromtableʱ£¬InnoDBҪɨÃèÒ»±éÕû¸ö±íÀ´¼ÆËãÓжàÉÙÐУ¬µ«ÊÇMyISAMÖ»Òª¼òµ¥µÄ¶Á³ö±£´æºÃµÄÐÐÊý¼´¿É¡£×¢ÒâµÄÊÇ£¬µ±count(*)Óï¾ä°üº¬whereÁã½Ì¼Ãµ¹Ìõ¼þʱ£¬Á½ÖÖ±íµÄ²Ù×÷ÊÇÒ»ÑùµÄ¡£

¡¡¡¡3.¶ÔÓÚAUTO_INCREMENTÀàÐ͵Ä×ֶΣ¬InnoDBÖбØÐë°üº¬Ö»ÓиÃ×ֶεÄË÷Òý£¬µ«ÊÇÔÚMyISAM±íÖУ¬¿ÉÒÔºÍÆäËû×Ö¶ÎÌì×ÓÊÆÈ«Ò©¾¶ÒôʮһÆð½¨Á¢ÁªºÏË÷Òý¡£

¡¡¡¡4.DELETEFROMtableʱ£¬InnoDB²»»áÖØÐ½¨Á¢±í£¬¶øÊÇÒ»ÐÐÒ»ÐеÄɾ³ý¡£

¡¡¡¡5.LOADTABLEFROMMASTER²Ù×÷¶ÔInnoDBÊDz»Æð×÷Óõ쬽â¾ö·½·¨ÊÇÊ×ÏȰÑInnoDB±í¸Ä³ÉMyISAM±í£¬µ¼Èë**ºóÔٸijÉInnoDB±í£¬µ«ÊǶÔÓÚʹÓõĶîÍâµÄInnoDBÌØÐÔ(ÀýÈçÍâ¼ü)µÄ±í²»ÊÊÓá£

¡¡¡¡ÁíÍ⣬InnoDB±í×ÚµÄÐÐËøÒ²²»ÊǾø¶ÔµÄ£¬¼ÙÈçÔÚÖ´ÐÐÒ»¸öSQLÓï¾äʱMySQL²»ÄÜÈ·¶¨ÒªÉ¨ÃèµÄ·¶Î§£¬InnoDB±íͬÑù»áËøÈ«±í£¬ÀýÈçupdatetableset**m=1wherenamelike“%ȼ·þ;̫aaa%”

¡¡¡¡Ö÷Òª²î±ð£º³Æ½«Ò½Ö²ÁÖÑݾ©Å£Ç¿¶ÔΣÁ½ÖÖÀàÐÍ×îÖ÷ÒªµÄ²î±ð¾ÍËÀËýº¦ÊÇInnodbÖ§³ÖÊÂÎñ´¦Àí¾ùÖ¸³¯Öؽ¨¹ÙÓÖÁì¼þËÕ½ôÓëÍâ¼üºÍÐм¶Ëø¡£¶øMyISAM²»Ö§³Ö.ËùÒÔMyISAMÍùÍù¾ÍÈÝÒ×±»ÈËÈÏΪֻÊʺÏÔÚСÏîÄ¿ÖÐʹÓá£

¡¡¡¡×÷ΪʹÓÃMySQLµÄÓû§½Ç¶È³ö·¢£¬InnodbºÍMyISAM¶¼ÊDZȽÏϲ»¶µÄ£¬Èç¹ûÊýÕÅÇâ·Ç¼¶ËðʾÌâ¾Ý¿âƽ̨Ҫ´ïµ½ÐèÀëÇó£º99.9%µÄÎȶ¨ÐÔ£¬·½±ãµÄÀ©Õ¹ÐԺ͸߿ÉÓÃÐÔÀ´ËµµÄ»°£¬MyISAM¾ø¶ÔÊÇÊ×Ñ¡¡£

¡¡¡¡Ô­ÒòÈçÏ£º

¡¡¡¡1¡¢Æ½Ì¨ÉϳÐÔØµÄ´ó²¿·ÖÏîÄ¿ÊǶÁ¶àдÉÙµÄÏîÄ¿£¬¶øMyISAMµÄ¶ÁÐÔÄÜÊDZÈInnodbÇ¿²»Éٵġ£

¡¡¡¡2Ëã¡¢MyISAMµÄË÷ÒýºÍ**ÊÇ·Ö¿ªµÄ£¬²¢ÇÒË÷ÒýÊÇÓÐѹËõµÄ£¬ÄÚ´æÊ¹ÓÃÂʾͶÔÓ¦Ìá¸ßÁ˲»ÉÙ¡£ÄܼÓÔØ¸ü¶àË÷Òý£¬¶øInnodbÊÇË÷ÒýºÍ**ÊǽôÃÜÀ¦°óµÄ£¬Ã»ÓÐʹÓÃѹËõ´Ó¶ø»áÔì³ÉInnodb±ÈMyISÃËÔ¬·ÇÇ×AMÌå»ýÅÓ´ó²»Ð¡¡£

¡¡¡¡3¡¢¾­³£¸ô1£¬2¸öÔ¾ͻᷢÉúÓ¦Óøø»ÊÏßÏ󿪷¢ÈËÔ±²»Ð¡ÐÄupdateÒ»¸ö±íwhereдµÄ·¶Î§²»¶Ô£¬µ¼ÖÂÕâ¸ö±íû·¨Õý³£ÓÃÁË£¬Õâ¸öʱºòMyISAMµÄÓÅÔ½ÐÔ¾ÍÌåÏÖ³öÀ´ÁË£¬Ëæ±ã´Óµ±Ì쿽±´µÄѹËõ°üÈ¡³ö¶ÔÓ¦±íµÄÎļþ£¬Ëæ±ã·Åµ½Ò»¸ö**¿âĿ¼Ï£¬È»ºó**mp³ÉsqlÔÙµ¼»Øµ½Ö÷¿â£¬²¢°Ñ¶ÔÓ¦µÄbinlog²¹ÉÏ¡£Èç¹ûÊÇInnodb£¬¿ÖŲ»¿ÉÄÜÓÐÕâô¿ìËÙ¶È£¬±ðºÍÎÒ˵ÈÃInnodb¶¨ÆÚÓõ¼³öxxx.sql»úÖÆ±¸·Ý£¬ÒòΪ×îСµÄÒ»¸ö**¿âʵÀýµÄ**Á¿»ù±¾¶¼ÊǼ¸Ê®G´óС¡£

¡¡¡¡4¡¢´Ó½Ó´¥µÄÓ¦ÓÃÂß¼­À´Ëµ£¬selectcount(*)ºÍorderbyÊÇ×îÆµ·±µÄ£¬´ó¸ÅÄÜÕ¼ÁËÕû¸ösql×ÜÓï¾äµÄ60%ÒÔÉϵIJÙ×÷£¬¶øÕâÖÖ²Ù×÷InnodbÆäʵҲÊÇ»áËø±íµÄ£¬ºÜ¶àÈËÒÔΪInnodbÊÇÐм¶Ëø£¬ÄǸöÖ»ÊÇwhere¶ÔËüÖ÷¼üÊÇÓÐЧ£¬·ÇÖ÷¼üµÄ¶¼»áËøÈ«±íµÄ¡£

¡¡¡¡5¡¢»¹ÓоÍÊǾ­³£ÓкܶàÓ¦Óò¿ÃÅÐèÒªÎÒ¸øËûÃǶ¨ÆÚijЩ±íµÄ**£¬MyISAMµÄ»°ºÜ·½±ã£¬Ö»Òª·¢¸øËûÃǶÔÓ¦ÄDZíµÄfrm.MYD,MYIµÄÎļþ£¬ÈÃËûÃÇ×Ô¼ºÔÚ¶ÔÓ¦°æ±¾µÄ**¿âÆô¶¯¾ÍÐУ¬¶øInnodb¾ÍÐèÒªµ¼³öxxx.sqlÁË£¬ÒòΪ¹â¸ø±ðÈËÎļþ£¬ÊÜ×Öµä**ÎļþµÄÓ°Ï죬¶Ô·½ÊÇÎÞ·¨Ê¹Óõġ£

¡¡¡¡6¡¢Èç¹ûºÍMyISAM±Èinsertд²Ù×÷µÄ»°£¬Innodb»¹´ï²»µ½MyISAMµÄдÐÔÄÜ£¬Èç¹ûÊÇÕë¶Ô»ùÓÚË÷ÒýµÄupdate²Ù×÷£¬ËäÈ»MyISAM¿ÉÄÜ»áÑ·É«Innodb,µ«ÊÇÄÇô¸ß²¢·¢µÄд£¬´Ó¿âÄÜ·ñ×·µÄÉÏÒ²ÊÇÒ»¸öÎÊÌ⣬»**»Èçͨ¹ý¶àʵÀý·Ö¿â·Ö±í¼Ü¹¹À´½â¾ö¡£

¡¡¡¡7¡¢Èç¹ûÊÇÓÃMyISAMµÄ»°£¬mergeÒýÇæ¿ÉÒÔ´ó´ó¼Ó¿ìÓ¦Óò¿ÃŵĿª·¢ËÙ¶È£¬ËûÃÇÖ»Òª¶ÔÕâ¸ömerge±í×öһЩselectcount(*)²Ù×÷£¬·Ç³£ÊʺϴóÏîÄ¿×ÜÁ¿Ô¼¼¸ÒÚµÄrowsijһÀàÐÍ(ÈçÈÕÖ¾£¬µ÷²éͳ¼Æ)µÄÒµÎñ±í¡£

¡¡¡¡µ±È»InnodbÒ²²»ÊǾø¶Ô²»Óã¬ÓÃÊÂÎñµÄÏîÄ¿¾ÍÓÃInnodbµÄ¡£ÁíÍ⣬¿ÉÄÜÓÐÈË»á˵ÄãMyISAMÎÞ·¨¿¹Ì«¶àд²Ù×÷£¬µ«ÊÇ¿ÉÒÔͨ¹ý¼Ü¹¹À´ÃÖ²¹¡£