mysql ÊÂÎñ´¦Àí
¹ØÓÚMySQLÊÂÎñ´¦Àíѧϰ¼Ç
START TRANSACTION, COMMITºÍROLLBACKÓï·¨
START TRANSACTION | BEGIN [WORK]
COMMIT [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
ROLLBACK [WORK] [AND [NO] CHAIN] [[NO] RELEASE]
SET AUTOCOMMIT = {0 | 1}
START
TRANSACTION»òBEGINÓï¾ä¿ÉÒÔ¿ªÊ¼Ò»ÏîеÄÊÂÎñ¡£COMMIT¿ÉÒÔÌá½»µ±Ç°ÊÂÎñ£¬ÊDZä¸ü³ÉΪÓÀ¾Ã±ä¸ü¡£ROLLBACK¿ÉÒÔ
»Ø¹öµ±Ç°ÊÂÎñ£¬È¡ÏûÆä±ä¸ü¡£SET AUTOCOMMITÓï¾ä¿ÉÒÔ½ûÓûòÆôÓÃĬÈϵÄautocommitģʽ£¬ÓÃÓÚµ±Ç°Á¬½Ó¡£
×ÔÑ¡µÄWORK¹Ø¼ü´Ê±»Ö§³Ö£¬ÓÃÓÚCOMMITºÍRELEASE£¬ÓëCHAINºÍRELEASE×Ӿ䡣CHAINºÍRELEASE¿ÉÒÔ±»ÓÃÓÚ¶ÔÊÂÎñÍê³É½øÐи½¼Ó¿ØÖÆ¡£Completion_typeϵͳ±äÁ¿µÄÖµ¾ö¶¨ÁËĬÈÏÍê³ÉµÄÐÔÖÊ¡£
AND
CHAIN×Ó¾ä»áÔÚµ±Ç°ÊÂÎñ½áÊøÊ±£¬Á¢¿ÌÆô¶¯Ò»¸öÐÂÊÂÎñ£¬²¢ÇÒÐÂÊÂÎñÓë¸Õ½áÊøµÄÊÂÎñÓÐÏàͬµÄ¸ôÀëµÈ¼¶¡£RELEASE×Ó¾äÔÚÖÕÖ¹Á˵±Ç°ÊÂÎñºó£¬»áÈ÷þÎñÆ÷
¶Ï¿ªÓ뵱ǰ¿Í»§¶ËµÄÁ¬½Ó¡£°üº¬NO¹Ø¼ü´Ê¿ÉÒÔÒÖÖÆCHAIN»òRELEASEÍê³É¡£Èç¹ûcompletion_typeϵͳ±äÁ¿±»ÉèÖÃΪһ¶¨µÄÖµ£¬Ê¹Á¬Ëø
»òÊÍ·ÅÍê³É¿ÉÒÔĬÈϽøÐУ¬´ËʱNO¹Ø¼ü´ÊÓÐÓá£
ĬÈÏÇé¿öÏ£¬MySQL²ÉÓÃautocommitģʽÔËÐС£ÕâÒâζ×Å£¬µ±ÄúÖ´ÐÐÒ»¸öÓÃÓÚ¸üУ¨Ð޸쩱íµÄÓï¾äÖ®ºó£¬MySQLÁ¢¿Ì°Ñ¸üд洢µ½´ÅÅÌÖС£
Èç¹ûÄúÕýÔÚʹÓÃÒ»¸öÊÂÎñ°²È«Ð͵Ĵ洢ÒýÇæ£¨ÈçInnoDB, BDB»òNDB´Ø£©£¬ÔòÄú¿ÉÒÔʹÓÃÒÔÏÂÓï¾ä½ûÓÃautocommitģʽ£º
SET AUTOCOMMIT=0;
ͨ¹ý°ÑAUTOCOMMIT±äÁ¿ÉèÖÃΪÁ㣬½ûÓÃautocommitģʽ֮ºó£¬Äú±ØÐëʹÓÃCOMMIT°Ñ±ä¸ü´æ´¢µ½´ÅÅÌÖУ¬»ò×ÅÈç¹ûÄúÏëÒªºöÂÔ´ÓÊÂÎñ¿ªÊ¼½øÐÐÒÔÀ´×ö³öµÄ±ä¸ü£¬Ê¹ÓÃROLLBACK¡£
Èç¹ûÄúÏëÒª¶ÔÓÚÒ»¸öµ¥Ò»ÏµÁеÄÓï¾ä½ûÓÃautocommitģʽ£¬ÔòÄú¿ÉÒÔʹÓÃSTART TRANSACTIONÓï¾ä£º
START TRANSACTION;
SELECT @A:=SUM(salary) from table1 WHERE type=1;
UPDATE table2 SET summary=@A WHERE type=1;
COMMIT;
ʹÓÃSTART TRANSACTION£¬autocommitÈÔÈ»±»½ûÓã¬Ö±µ½ÄúʹÓÃCOMMIT»òROLLBACK½áÊøÊÂÎñΪֹ¡£È»ºóautocommitģʽ»Ö¸´µ½ÔÀ´µÄ״̬¡£
BEGINºÍBEGIN WORK±»×÷ΪSTART TRANSACTIONµÄ±ðÃûÊܵ½Ö§³Ö£¬ÓÃÓÚ¶ÔÊÂÎñ½øÐгõʼ»¯¡£START
TRANSACTIONÊDZê×¼µÄSQLÓï·¨£¬²¢ÇÒÊÇÆô¶¯Ò»¸öad-hocÊÂÎñµÄÍÆ¼ö·½·¨¡£BEGINÓï¾äÓëBEGIN¹Ø¼ü´ÊµÄʹÓò»Í¬¡£BEGIN¹Ø¼ü´Ê
¿ÉÒÔÆô¶¯Ò»¸öBEGIN...END¸´ºÏÓï¾ä¡£ºóÕß²»»á¿ªÊ¼Ò»ÏîÊÂÎñ¡£
ÄúÒ²¿ÉÒÔ°´ÕÕÈçÏ·½·¨¿ªÊ¼Ò»ÏîÊÂÎñ£º
START TRANSACTION WITH CONSISTENT SNAPSHOT;
WITH CONSISTENT
SNAPSHOT×Ó¾äÓ
Ïà¹ØÎĵµ£º
¡¾×ª×Ô£ºhttp://tdcq.javaeye.com/blog/363955£¬·Ç³£¸ÐлÔ×÷Õß¡¿
ÕâÆªÎÄÕÂÊÇÍøÉϸ÷ÖÖ½â¾ömysqlÖÐÎÄÂÒÂëÎÊÌâµÄ¼¯´ó³ÉÕߣ¬Ò»°ã¿ÉÒÔ½â¾öÎÊÌâ¡£
mysql ´´½¨
Êý¾Ý¿âʱָ¶¨±àÂëºÜÖØÒª£¬ºÜ¶à¿ª·¢Õß¶¼Ê¹ÓÃÁËĬÈϱàÂ룬µ«ÊÇÎÒʹÓõľÑéÀ´¿´£¬Öƶ¨Êý¾Ý¿âµÄ±àÂë¿ÉÒԺܴó³Ì¶ÈÉϱÜÃâµ¹Èëµ¼³ö´øÀ´µÄÂÒÂëÎÊÌâ¡£
ÎÒÃÇ×ñѵıê×¼ÊÇ£¬Êý ......
ÏÂÔØ ADO.NET Driver for MySQLMySql.Data.dll
°²×°ºó£¬ÔÚ°²×°Ä¿Â¼ÏÂÃæÕÒµ½Assemblies
Îļþ¼Ð£¬ÕÒµ½ MySql.Data.dll
(´ËÎļþÊÇ.Net·ÃÎÊMySQLÊý¾Ý¿âµÄÒ»¸öÇý¶¯£¬ÍêÈ«ADO.NETÊý¾Ý·ÃÎÊģʽ£¬ÓÉMySQL¹Ù·½Ìṩ£¬Óжà¸ö°æ±¾¿ÉÑ¡Ôñ¡£)
ѧϰµÄÒ»¸öÁ´½Ó£ºhttp://www.cnblogs.com/wcfgroup/articles/1242256.html
´´½¨Ò»¸ö ......
PERCONA PERFORMANCE CONFERENCE 2009ÉÏ£¬À´×ÔÑÅ»¢µÄ¼¸Î»¹¤³Ìʦ´øÀ´ÁËһƪ”Efficient Pagination Using MySQL“µÄ±¨¸æ£¬ÓкܶàÁÁµã£¬±¾ÎÄÊÇÔÚÔÎÄ»ù´¡ÉϵĽøÒ»²½ÑÓÉì¡£
Ê×ÏÈ¿´Ò»Ï·ÖÒ³µÄ»ù±¾ÔÀí£º
mysql> explain SELECT * from message ORDER BY id DESC LIMIT 10000, 20\G
***************** 1. row ** ......
1. ¼ò½é
ÔÚWebÓ¦ÓóÌÐòÌåϵ¼Ü¹¹ÖУ¬Êý¾Ý³Ö¾Ã²ã£¨Í¨³£ÊÇÒ»¸ö¹ØÏµÊý¾Ý¿â£©ÊǹؼüµÄºËÐIJ¿·Ö£¬Ëü¶ÔϵͳµÄÐÔÄÜÓзdz£ÖØÒªµÄÓ°Ïì¡£MySQLÊÇĿǰʹÓÃ×î¶àµÄ¿ªÔ´Êý¾Ý¿â£¬µ«ÊÇMySQLÊý¾Ý¿âµÄĬÈÏÉèÖÃÐÔÄܷdz£µÄ²î£¬½ö½öÊÇÒ»¸öÍæ¾ßÊý¾Ý¿â¡£Òò´ËÔÚ²úÆ·ÖÐʹÓÃMySQLÊý¾Ý¿â±ØÐë½øÐбØÒªµÄÓÅ»¯¡£
ÓÅ»¯ÊÇÒ»¸ö¸´ÔÓµÄÈÎÎñ£¬±¾ÎÄÃèÊöMySQLÏ ......
´´½¨Êý¾Ý¿â£ºcreate database Êý¾Ý¿âÃû;
´´½¨±í£ºcreate table ±íÃû £¨ ÁÐÃû Êý¾ÝÀàÐÍ not null... £©;
²é¿´ÏµÍ³ÖÐËùÓеÄÊý¾Ý¿â£ºshow databases;
Ñ¡ÔñÒªÓ¦ÓõÄÊý¾Ý¿â£ºuse Êý¾Ý¿âÃû;
²é¿´Ä³¸öÊý¾Ý¿âϵÄËùÓÐ±í£ºshow tables;
²é¿´±í½á¹¹£ºdesc(describe) ±íÃû;
ÖØÃüÃû±íÃû£ºalter table ±íÃû rename as бíÃû
¸ ......