mysql ENGINE=InnoDB
InnoDB ¸ø MySQL ÌṩÁ˾ßÓÐÊÂÎñ(commit)¡¢»Ø¹ö(rollback)ºÍ±ÀÀ£ÐÞ¸´ÄÜÁ¦(crash recovery capabilities)¡¢¶à°æ±¾²¢·¢¿ØÖÆ(multi-versioned concurrency control)µÄÊÂÎñ°²È«(transaction-safe (ACID compliant))ÐÍ±í¡£InnoDB ÌṩÁËÐм¶Ëø(locking on row level)£¬ÌṩÓë Oracle ÀàËƵIJ»¼ÓËø¶ÁÈ¡(non-locking read in SELECTs)¡£InnoDBËø¶¨ÔÚÐм¶²¢ÇÒÒ²ÔÚSELECTÓï¾äÌṩһ¸öOracle·ç¸ñÒ»ÖµķÇËø¶¨¶Á¡£ÕâЩÌØÉ«Ôö¼ÓÁ˶àÓû§²¿ÊðºÍÐÔÄÜ¡£Ã»ÓÐÔÚInnoDBÖÐÀ©´óËø¶¨µÄÐèÒª£¬ÒòΪÔÚInnoDBÖÐÐм¶Ëø¶¨ÊʺϷdz£Ð¡µÄ¿Õ¼ä¡£InnoDBÒ²Ö§³ÖFOREIGN KEYÇ¿ÖÆ¡£ÔÚSQL²éѯÖУ¬Äã¿ÉÒÔ×ÔÓɵؽ«InnoDBÀàÐ͵ıíÓëÆäËüMySQLµÄ±íµÄÀàÐÍ»ìºÏÆðÀ´£¬ÉõÖÁÔÚͬһ¸ö²éѯÖÐÒ²¿ÉÒÔ»ìºÏ¡£ÕâЩÌØÐÔ¾ùÌá¸ßÁ˶àÓû§²¢·¢²Ù×÷µÄÐÔÄܱíÏÖ¡£ÔÚInnoDB±íÖв»ÐèÒªÀ©´óËø¶¨(lock escalation)£¬ÒòΪ InnoDB µÄÐм¶Ëø¶¨(row level locks)ÊÊÒ˷dz£Ð¡µÄ¿Õ¼ä¡£InnoDB ÊÇ MySQL ÉϵÚÒ»¸öÌṩÍâ¼üÔ¼Êø(FOREIGN KEY constraints)µÄ±íÒýÇæ¡£
¡¡¡¡InnoDBÊÇΪ´¦Àí¾Þ´óÊý¾ÝÁ¿Ê±µÄ×î´óÐÔÄÜÉè¼Æ¡£ËüµÄCPUЧÂÊ¿ÉÄÜÊÇÈκÎÆäËü»ùÓÚ´ÅÅ̵ĹØϵÊý¾Ý¿âÒýÇæËù²»ÄÜÆ¥µÐµÄ¡£
¡¡¡¡InnoDB´æ´¢ÒýÇæ±»ÍêÈ«ÓëMySQL·þÎñÆ÷ÕûºÏ£¬InnoDB´æ´¢ÒýÇæΪÔÚÖ÷ÄÚ´æÖлº´æÊý¾ÝºÍË÷Òý¶øά³ÖËü×Ô¼ºµÄ»º³å³Ø¡£ InnoDB´æ´¢ËüµÄ±í£¦Ë÷ÒýÔÚÒ»¸ö±í¿Õ¼äÖУ¬±í¿Õ¼ä¿ÉÒÔ°üº¬Êý¸öÎļþ£¨»òÔʼ´ÅÅÌ·ÖÇø£©¡£ÕâÓëMyISAM±í²»Í¬£¬±ÈÈçÔÚMyISAM±íÖÐÿ¸ö±í±»´æÔÚ·ÖÀëµÄÎļþÖС£InnoDB ±í¿ÉÒÔÊÇÈκγߴ磬¼´Ê¹ÔÚÎļþ³ß´ç±»ÏÞÖÆΪ2GBµÄ²Ù×÷ϵͳÉÏ¡£
¡¡¡¡InnoDBĬÈϵر»°üº¬ÔÚMySQL¶þ½øÖÆ·Ö·¢ÖС£Windows Essentials installerʹInnoDB³ÉΪWindowsÉÏMySQLµÄĬÈÏ±í¡£
¡¡¡¡InnoDB±»ÓÃÀ´ÔÚÖÚ¶àÐèÒª¸ßÐÔÄܵĴóÐÍÊý¾Ý¿âÕ¾µãÉϲúÉú¡£ÖøÃûµÄInternetÐÂÎÅÕ¾µãSlashdot.orgÔËÐÐÔÚ InnoDBÉÏ¡£Mytrix, Inc.ÔÚInnoDBÉÏ´æ´¢³¬¹ý1TBµÄÊý¾Ý£¬»¹ÓÐһЩÆäËüÕ¾µãÔÚInnoDBÉÏ´¦Àíƽ¾ùÿÃë800´Î²åÈë/¸üеĸººÉ¡£
¡¡¡¡ÔÚ¼¼ÊõÉÏ£¬InnoDB ÊÇÒ»Ì×·ÅÔÚ MySQL ºǫ́µÄÍêÕûÊý¾Ý¿âϵͳ£¬InnoDB ÔÚÖ÷ÄÚ´æÖн¨Á¢ÆäרÓõĻº³å³ØÓÃÓÚ¸ßËÙ»º³åÊý¾ÝºÍË÷Òý¡£MySQLInnoDB °ÑÊý¾ÝºÍË÷Òý´æ·ÅÔÚ±í¿Õ¼äÀ¿ÉÄÜ°üº¬¶à¸öÎļþ£¬ÕâÓëÆäËüµÄ²»Ò»Ñù£¬¾ÙÀýÀ´Ëµ£¬ÔÚ MyISAM ÖУ¬±í±»´æ·ÅÔÚµ¥¶ÀµÄÎļþÖС£InnoDB ±íµÄ´óСֻÊÜÏÞÓÚ²Ù×÷ϵͳµÄÎļþ´óС£¬¿ÉÒ²¿ÉÒÔÿ¸ö±íʹÓø÷×Ô¶ÀÁ¢µÄ±í¿Õ¼ä£¬Ö»ÐèÒªÆôÓÃÑ¡Ïî innodb_file_per_table¡£
¡¡¡¡ÔÚ http://www.innodb.com/ ÉÏ¿ÉÒÔÕÒµ½ InnoDB ×îеÄÐÅÏ¢¡£InnoDB ÊÖ²áµÄ
Ïà¹ØÎĵµ£º
create procedure getInfor2()
BEGIN
declare _abc varchar(200);
declare stopFlag int;
DECLARE cursor_name CURSOR
FOR
select zhuanyuan from server;
DECLARE CONTINUE HANDLER FOR NOT FOUND set stopFlag=1;
OPEN cursor_name;
REPEAT
FETCH cursor_name INTO _abc;
begin
if _abc='root'
the ......
MySQL5.X¶¼ÒѾ·¢²¼ºÃ¾ÃÁË£¬µ«ÊÇ»¹ÓкܶàÈËÈÏΪMySQLÊDz»Ö§³ÖÊÂÎñ´¦ÀíµÄ£¬Õâ²»µÃ²»¹ÖËûÃÇÊǹª¹ÑÎŵģ¬Æäʵ£¬Ö»ÒªÄãµÄMySQL°æ±¾
Ö§³ÖBDB»òInnoDB±íÀàÐÍ£¬ÄÇôÄãµÄMySQL¾Í¾ßÓÐÊÂÎñ´¦ÀíµÄÄÜÁ¦¡£ÕâÀïÃ棬ÓÖÒÔInnoDB±íÀàÐÍÓõÄ×î¶à£¬ËäÈ»ºóÀ´·¢ÉúÁËÖîÈçOracleÊÕ
¹ºInnoDBµÈÁîMySQL²»Ë¬µÄÊÂÇ飬µ«ÄÇЩÉÌÒµÉϵĶ·ÕùÓë¼¼ÊõÎ޹أ ......
»·¾³ÉèÖãº
°²×°ÍêMySQLÖ®ºó£¬½«°²×°Ä¿Â¼ÖеÄincludeĿ¼ÏµÄlibmysql.libÎļþ¿½µ½VS2008°²×°Ä¿Â¼ÖеÄVC\lib\Ï£¬È»ºóÔÚ ÏîÄ¿-Ñ¡Ïî-c/c++-³£¹æ Öеĸ½¼Ó°üº¬Ä¿Â¼ÒÔ¼° Á´½ÓÆ÷-³£¹æ Öеĸ½¼Ó¿âĿ¼ÖмÓÈë“c:\MySQL\include\”£¬²¢ÇÒÔÚ Á´½ÓÆ÷-ÊäÈë Öеĸ½¼ÓÒÀÀµÏîÄÚÌí¼Ó“lib ......
1¡¢±à¼MySQLÅäÖÃÎļþ£º
windows»·¾³ÖУº%MySQL_installdir%\my.ini¡¡//Ò»°ãÔÚMySQL°²×°Ä¿Â¼ÏÂÓÐmy.ini¼´MySQLµÄÅäÖÃÎļþ¡£
linux»·¾³ÖУº/etc/my.cnf
ÔÚ[MySQLd]ÅäÖöÎÌí¼ÓÈçÏÂÒ»ÐУº
skip-grant-tables
±£´æÍ˳ö±à¼¡£
2¡¢È»ºóÖØÆôMySQL·þÎñ
windows»·¾³ÖУº
net stop MySQL
net start MySQL
linux»·¾³ÖУº
/e ......