InnoDB»¹ÊÇMyISAM ÔÙ̸MySQL´æ´¢ÒýÇæµÄÑ¡Ôñ
Á½ÖÖÀàÐÍ×îÖ÷ÒªµÄ²î±ð¾ÍÊÇInnodb Ö§³ÖÊÂÎñ´¦ÀíÓëÍâ¼üºÍÐм¶Ëø.¶øMyISAM²»Ö§³Ö.ËùÒÔMyISAMÍùÍù¾ÍÈÝÒ×±»ÈËÈÏΪֻÊʺÏÔÚСÏîÄ¿ÖÐʹÓá£
ÎÒ×÷ΪʹÓÃMySQLµÄÓû§½Ç¶È³ö·¢£¬InnodbºÍMyISAM¶¼ÊDZȽÏϲ»¶µÄ£¬µ«ÊÇ´ÓÎÒĿǰÔËάµÄÊý¾Ý¿âƽ̨Ҫ´ïµ½ÐèÇó£º99.9%µÄÎȶ¨ÐÔ£¬·½±ãµÄÀ©Õ¹ÐԺ͸߿ÉÓÃÐÔÀ´ËµµÄ»°£¬MyISAM¾ø¶ÔÊÇÎÒµÄÊ×Ñ¡¡£
ÔÒòÈçÏ£º
1¡¢Ê×ÏÈÎÒĿǰƽ̨ÉϳÐÔØµÄ´ó²¿·ÖÏîÄ¿ÊǶÁ¶àдÉÙµÄÏîÄ¿£¬¶øMyISAMµÄ¶ÁÐÔÄÜÊDZÈInnodbÇ¿²»Éٵġ£
2¡¢MyISAMµÄË÷ÒýºÍÊý¾ÝÊÇ·Ö¿ªµÄ£¬²¢ÇÒË÷ÒýÊÇÓÐѹËõµÄ£¬ÄÚ´æÊ¹ÓÃÂʾͶÔÓ¦Ìá¸ßÁ˲»ÉÙ¡£ÄܼÓÔØ¸ü¶àË÷Òý£¬¶øInnodbÊÇË÷ÒýºÍÊý¾ÝÊǽôÃÜÀ¦°óµÄ£¬Ã»ÓÐʹÓÃѹËõ´Ó¶ø»áÔì³ÉInnodb±ÈMyISAMÌå»ýÅÓ´ó²»Ð¡¡£
3¡¢´Óƽ̨½Ç¶ÈÀ´Ëµ£¬¾³£¸ô1£¬2¸öÔ¾ͻᷢÉúÓ¦Óÿª·¢ÈËÔ±²»Ð¡ÐÄupdateÒ»¸ö±íwhereдµÄ·¶Î§²»¶Ô£¬µ¼ÖÂÕâ¸ö±íû·¨Õý³£ÓÃÁË£¬Õâ¸öʱºòMyISAMµÄÓÅÔ½ÐÔ¾ÍÌåÏÖ³öÀ´ÁË£¬Ëæ±ã´Óµ±Ì쿽±´µÄѹËõ°üÈ¡³ö¶ÔÓ¦±íµÄÎļþ£¬Ëæ±ã·Åµ½Ò»¸öÊý¾Ý¿âĿ¼Ï£¬È»ºódump³ÉsqlÔÙµ¼»Øµ½Ö÷¿â£¬²¢°Ñ¶ÔÓ¦µÄbinlog²¹ÉÏ¡£Èç¹ûÊÇInnodb£¬¿ÖŲ»¿ÉÄÜÓÐÕâô¿ìËÙ¶È£¬±ðºÍÎÒ˵ÈÃInnodb¶¨ÆÚÓõ¼³öxxx.sql»úÖÆ±¸·Ý£¬ÒòΪÎÒÆ½Ì¨ÉÏ×îСµÄÒ»¸öÊý¾Ý¿âʵÀýµÄÊý¾ÝÁ¿»ù±¾¶¼ÊǼ¸Ê®G´óС¡£
4¡¢´ÓÎÒ½Ó´¥µÄÓ¦ÓÃÂß¼À´Ëµ£¬select count(*) ºÍorder by ÊÇ×îÆµ·±µÄ£¬´ó¸ÅÄÜÕ¼ÁËÕû¸ö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±í×öһЩselect count(*)²Ù×÷£¬·Ç³£ÊʺϴóÏîÄ¿×ÜÁ¿Ô¼¼¸ÒÚµÄrowsijһÀàÐÍ(ÈçÈÕÖ¾£¬µ÷²éͳ¼Æ)µÄÒµÎñ±í¡£
µ±È»InnodbÒ²²»ÊǾø¶Ô²»Óã¬ÓÃÊÂÎñµÄÏîÄ¿ÈçÄ£Äâ³´¹ÉÏîÄ¿£¬ÎÒ¾ÍÊÇÓÃInnodbµÄ£¬»îÔ¾Óû§20¶àÍòʱºò£¬Ò²ÊǺÜÇáËÉÓ¦¸¶ÁË£¬Òò´ËÎÒ¸öÈËÒ²ÊǺÜϲ»¶InnodbµÄ£¬Ö»ÊÇÈç¹û´ÓÊý¾Ý¿âƽ
Ïà¹ØÎĵµ£º
Ò»¡¢ÊÂÎñ´¦Àí£¨myisamÒýÇæ²»Ö§³ÖÊÂÎñ£¬innodbÒýÇæÖ§³ÖÊÂÎñ£©
£¨1£©start transaction
£¨2£©commit
£¨3£©rollback£¬rollback to [savepoint name]
£¨4£©savepoint [savepoint name]
£¨5£©set autocommit=0 or 1
£¨6£©release savepoint [savepoint name]
×¢Ò⣺create¡¢dropµÈ²Ù×÷£¬²»ÄÜ»ØÍË
¶þ¡¢×Ö·û¼¯
1.×Ö·û±àÂë ......
gcc Ç¿´óµÄ±àÒëÆ÷¾Í²»×÷½éÉÜÁË
linuxÏÂÓÃgccÃüÁî±àÒë¶àÏß³ÌC³ÌÐòÎļþºÍº¬ÓÐMySqlÊý¾Ý¿â²Ù×÷Îļþ
1.±àÒë¶àÏß³ÌÎļþ
gcc -o mylti_thread.o multi_thread.c -lpthread
ÆäÖеÄmulti_thread.c±íʾԴÎļþ£¬mylti_thread.o±íʾ±àÒë²úÉúµÄÄ¿±êÎļþ£¬-lpthread±íʾÒýÈë¶àÏ߳̿⣬ÔÚ¡¶Using the GNU Compiler Collection¡·gcc 4. ......
ÔÎĵØÖ·£ºhttp://blog.csdn.net/wenjava/archive/2009/06/11/4261299.aspx
ÔÚʹÓÃMySQL֮ǰ£¬ÐèÒª½¨Á¢Êý¾Ý¿âµÄ»·¾³À´´´½¨Êý¾Ý±í£¬Ê×ÏÈÎÒÃÇÐèÒª°²×°¸ÃÊý¾Ý¿â»·¾³£¬¼´MySQL¡£
1¡¢ÏÂÔØMySQL
MySQLµÄ¹Ù·½ÍøÕ¾ÊÇhttp://www.mysql.org/£¬Èçͼ2-9Ëùʾ£º
ͼ2-9 MySQL¹Ù·½ÍøÕ¾
µ±Ç°Îȶ¨°æ±¾Îª5.1£¬ÎÒÃÇÑ¡ÓÃMySQL 5.1.22× ......
¹ØÓÚMYSQLµÄshow status½âÏê
SHOW STATUSÌṩ·þÎñÆ÷µÄ״̬ÐÅÏ¢(Ïómysqladmin extended-statusÒ»Ñù)¡£Êä³öÀàËÆÓÚÏÂÃæµÄÏÔʾ£¬¾¡¹Ü¸ñʽºÍÊý×Ö¿ÉÒÔÓе㲻ͬ£º
+--------------------------+--------+
| Variable_name | Value |
+--------------------------+--------+
| Aborted_clients | 0 |
| Aborted_connect ......
ÔÚ¿ª·¢ÏîĿʱ£¬Óöµ½Ò»¸öÎÊÌ⣬¾ÍÊÇÒªËæ»ú¶ÁȡһÕűíµÄ²¿·Ö¼Ç¼£¬²¢updateÉèÖÃΪ²»¿ÉÔÚ¶Á£¬ÕâÀï¾ÍÓÐÒ»¸öÎÊÌ⣬¿ÉÄܶà¸öÈËÍ¬Ê±Ëæ»úµ½ÏàͬµÄ¼Ç¼£¬²¢Öظ´×öupdate²Ù×÷£¬ÒýÆðÊý¾ÝÔà¶ÁºÍÖØ¸´²Ù×÷£¬
Òò´Ë¿¼ÂǸø±í¼ÓËø¡£µ«ÊDzÉÓÃÁËMyISAM£¬²»Ö§³ÖÊÂÎñ£¬Ö»ÄÜ¼Ó±í¼¶Ëø£¬¶øÇÒ±ðÈËÁ¬¶ÁµÄȨÏÞ¶¼Ã»ÓС£ÏÂÃæÊÇ2¸ö²âÊÔÎļþ£¬ÔÚfiref ......