Mysql Innodb ÒýÇæÓÅ»¯(
²ÎÊýƪ
×÷/ÒëÕߣºÎâ±þÎý£¬À´Ô´£ºhttp://imysql.cn¡¡£¦¡¡http://imysql.cn/blog/3208¡¡×ªÔØÇë×¢Ã÷×÷/ÒëÕߺͳö´¦£¬²¢ÇÒ²»ÄÜÓÃÓÚÉÌÒµÓÃ;£¬Î¥Õ߱ؾ¿¡£
½éÉÜ£º
¡¡¡¡InnoDB¸øMySQLÌṩÁ˾ßÓÐÌá½»£¬»Ø¹öºÍ±ÀÀ£»Ö¸´ÄÜÁ¦µÄÊÂÎñ°²È«£¨ACID¼æÈÝ£©´æ´¢ÒýÇæ¡£InnoDBËø¶¨ÔÚÐм¶²¢ÇÒÒ²ÔÚSELECTÓï¾äÌṩһ¸öOracle·ç¸ñÒ»ÖµķÇËø¶¨¶Á¡£ÕâÐ©ÌØÉ«Ôö¼ÓÁ˶àÓû§²¿ÊðºÍÐÔÄÜ¡£Ã»ÓÐÔÚInnoDBÖÐÀ©´óËø¶¨µÄÐèÒª£¬ÒòΪÔÚInnoDBÖÐÐм¶Ëø¶¨ÊʺϷdz£Ð¡µÄ¿Õ¼ä¡£InnoDBÒ²Ö§³ÖFOREIGN KEYÇ¿ÖÆ¡£ÔÚSQL²éѯÖУ¬Äã¿ÉÒÔ×ÔÓɵؽ«InnoDBÀàÐ͵ıíÓëÆäËüMySQLµÄ±íµÄÀàÐÍ»ìºÏÆðÀ´£¬ÉõÖÁÔÚͬһ¸ö²éѯÖÐÒ²¿ÉÒÔ»ìºÏ¡£
¡¡Innodb µÄ´´Ê¼ÈË£ºHeikki Tuuri
¡¡Heikki TuuriÔڣɣî£î£ï£ä£âµÄ£Â£õ£çÉçÇøÀïÒ²ÊǺܻîÔ¾µÄ£¬Èç¹ûÓöµ½£Â£õ£çÒ²¿ÉÒÔÖ±½ÓÌáµ½ÉçÇø£¬µÃµ½×÷ÕߵĽâ´ð¡£
ΪʲôҪѧϰ£É£î£î£ï£ä£âµÄµ÷ÓÅ£º
¡¡¡¡Ä¿Ç°À´Ëµ£ºInnoDBÊÇΪMysql´¦Àí¾Þ´óÊý¾ÝÁ¿Ê±µÄ×î´óÐÔÄÜÉè¼Æ¡£ËüµÄCPUЧÂÊ¿ÉÄÜÊÇÈÎºÎÆäËü»ùÓÚ´ÅÅ̵ĹØÏµÊý¾Ý¿âÒýÇæËù²»ÄÜÆ¥µÐµÄ¡£ÔÚÊý¾ÝÁ¿´óµÄÍøÕ¾»òÊÇÓ¦ÓÃÖÐInnodbÊDZ¶ÊÜÇàíùµÄ¡£
¡¡¡¡ÁíÒ»·½Ã棬ÔÚÊý¾Ý¿âµÄ¸´ÖƲÙ×÷ÖÐInnodbÒ²ÊÇÄܱ£Ö¤masterºÍslaveÊý¾ÝÒ»ÖÂÓÐÒ»¶¨µÄ×÷Óá£
²ÎÊýµ÷ÓÅÄÚÈÝ£º
¡¡¡¡1. ÄÚ´æÀûÓ÷½Ãæ
¡¡¡¡2. ÈÕÖµ¿ØÖÆ·½Ãæ
¡¡¡¡3.¡¡ÎļþIO·ÖÅ䣬¿Õ¼äÕ¼Ó÷½Ãæ
¡¡¡¡4. ÆäËüÏà¹Ø²ÎÊý
£±.ÄÚ´æÀûÓ÷½Ã棺
Ê×ÏȽéÉÜÒ»¸öInnodb×îÖØÒªµÄ²ÎÊý£º
innodb_buffer_pool_size
¡¡¡¡Õâ¸ö²ÎÊýºÍMyISAMµÄkey_buffer_sizeÓÐÏàËÆÖ®´¦£¬µ«Ò²ÊÇÓвî±ðµÄ¡£Õâ¸ö²ÎÊýÖ÷Òª»º´æinnodb±íµÄË÷Òý£¬Êý¾Ý£¬²åÈëÊý¾ÝʱµÄ»º³å¡£ÎªInnodb¼ÓËÙÓÅ»¯Ê×Òª²ÎÊý¡£
¡¡¡¡¸Ã²ÎÊý·ÖÅäÄÚ´æµÄÔÔò£ºÕâ¸ö²ÎÊýĬÈÏ·ÖÅäÖ»ÓÐ8M£¬¿ÉÒÔ˵ÊǷdz£Ð¡µÄÒ»¸öÖµ¡£Èç¹ûÊÇÒ»¸öרÓãģ·þÎñÆ÷£¬ÄÇôËû¿ÉÒÔÕ¼µ½ÄÚ´æµÄ70%-80%¡£Õâ¸ö²ÎÊý²»Äܶ¯Ì¬¸ü¸Ä£¬ËùÒÔ·ÖÅäÐè¶à¿¼ÂÇ¡£·ÖÅä¹ý´ó£¬»áʹSwapÕ¼Óùý¶à£¬ÖÂʹMysqlµÄ²éÑ¯ÌØÂý¡£Èç¹ûÄãµÄÊý¾Ý±È½ÏС£¬ÄÇô¿É·ÖÅäÊÇÄãµÄÊý¾Ý´óС£«£±£°£¥×óÓÒ×öΪÕâ¸ö²ÎÊýµÄÖµ¡£ÀýÈ磺Êý¾Ý´óСΪ£µ£°£Í,ÄÇô¸øÕâ¸öÖµ·ÖÅäinnodb_buffer_pool_size£½£¶£´£Í
ÉèÖ÷½·¨£º
innodb_buffer_pool_size=4G
Õâ¸ö²ÎÊý·ÖÅäÖµµÄʹÓÃÇé¿ö¿ÉÒÔ¸ù¾Ýshow innodb status\G;ÖеÄ
----------------------
BUFFER POOL AND MEMORY
----------------------
Total memory allocated 4668764894;
ȥȷÈÏʹÓÃÇé¿ö¡£
µÚ¶þ¸ö£º
innodb_additional_mem_pool£º
×÷ÓãºÓÃÀ´´æ·ÅInnodbµÄÄÚ²¿Ä¿Â¼
Õâ¸öÖµ²»Ó÷ÖÅ
Ïà¹ØÎĵµ£º
Êý¾Ý¿âĿ¼ÊÇMySQLÊý¾Ý¿â·þÎñÆ÷´æ·ÅÊý¾ÝÎļþµÄµØ·½£¬²»½ö°üÀ¨ÓйرíµÄÎļþ£¬»¹°üÀ¨Êý¾ÝÎļþºÍMySQLµÄ·þÎñÆ÷Ñ¡ÏîÎļþ¡£²»Í¬µÄ·Ö·¢£¬Êý¾Ý¿âĿ¼µÄȱʡλÖÃÊDz»Í¬µÄ¡£
Êý¾ÝĿ¼µÄλÖÃ
ȱʡµÄÊý¾Ý¿âλÖÃ
ȱʡÊý¾Ý¿âµÄλÖñàÒëÔÚ·þÎñÆ÷ÖС£
¡ôÈç¹ûÄúÊÇÔÚÒ»¸öÔ´³ÌÐò·Ö·¢°üÖа²×° MySQL£¬µäÐ͵ÄȱʡλÖÿÉÄÜÊÇ /usr/local/var ......
20 MySQL¿Í»§¹¤¾ßºÍAPI
20.1 MySQL C API
C API´úÂëÊÇËæMySQL·Ö·¢µÄ£¬Ëü±»°üº¬ÔÚmysqlclient¿âÇÒÔÊÐíC³ÌÐò´æÈ¡Ò»¸öÊý¾Ý¿â¡£
ÔÚ MySQLÔ´´úÂë·Ö·¢Öеĺܶà¿Í»§ÊÇÓÃC±àдµÄ¡£Èç¹ûÄãÕýÔÚѰÕÒÑÝʾÔõÑùʹÓÃC APIµÄÀý×Ó£¬¿´Ò»ÏÂÕâЩ¿Í»§³ÌÐò¡£
´ó¶àÊýÆäËû¿Í»§ API(³ýÁËJavaµÄËùÓÐ)¶¼Ê¹ÓÃmysqlclient¿âÓëMySQL·þÎñÆ÷ͨÐÅ ......
ÈçºÎÌá¸ßmysql load
data
infile
µÄËÙ¶È
²âÊÔÊý¾Ý2.5G£¬¹²ÓÐÊý¾Ý9427567Ìõ¡£ÓõÄmysqlµÄlarge·þÎñÆ÷µÄÅäÖá£
load
Ò»´ÎÐèÒª´ó¸Å10·ÖÖÓ×óÓÒ¡£
½¨µÄ±íÓõÄÊÇMYISAM£¬µ÷ÕûÁ˼¸¸ösessionµÄ²ÎÊýÖµ
SET SESSION BULK_INSERT_BUFFER_SIZE=256217728;
SET SESSION MYISAM_SORT_BUFFER_SIZE=256217728;
ÔËÐнá¹ûÈçÏÂ
Qu ......
mysql alter Óï¾äÓ÷¨,Ìí¼Ó¡¢Ð޸ġ¢É¾³ý×ֶεÈ
//Ö÷¼ü549830479
alter table tabelname add new_field_id int(5) unsigned default 0 not null auto_increment ,add primary key (new_field_id);
//Ôö¼ÓÒ»¸öÐÂÁÐ549830479
alter table t2 add d timestamp;
alter table infos add ex tinyint not null default ......
C APIÏà¹Ø
C APIÊý¾ÝÀàÐÍ
MYSQL
¸Ã½á¹¹´ú±í1¸öÊý¾Ý¿âÁ¬½ÓµÄ¾ä±ú¡£¼¸ºõËùÓеÄMySQLº¯Êý¾ùʹÓÃËü¡£²»Ó¦³¢ÊÔ¿½±´MYSQL½á¹¹¡£²»±£Ö¤ÕâÀ࿽±´½á¹û»áÓÐÓá£
MYSQL_RES
¸Ã½á¹¹´ú±í·µ»ØÐеIJéѯ½á¹û£¨SELECT, SHOW, DESCRIBE, EXPLAIN£©¡£ÔÚ±¾½ÚµÄÊ£Óಿ·Ö£¬½«²éѯ·µ»ØµÄÐÅÏ¢³ÆÎª“½á¹û¼¯&rdq ......