Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

MySQLµÄ±íËøÎÊÌâ(¶þ)——InnoDB±íËøÎÊÌâ

Ê×ÏȲ¹³äÏÂMySQLµÄ±íËøÎÊÌâ(Ò»)û½²µ½µÄϵͳ¿ÉÒÔͨ¹ýÉèÖÃmax_write_lock_count²ÎÊýÀ´¿ØÖÆдµÄÓÅÏȼ¶,µ±Ò»¸ö±íµÄ¶ÁËø´ïµ½Õâ¸öÊýµÄʱºò,MySQL»áÔÝʱµÄ,½µµÍдµÄÓÅÏȼ¶.MySQL¾¡Á¿ÉÙÓÃһЩ¿´Ëƾ«Ã¸´ÔÓµÄÓï¾ä,ÒòΪÄ㸴ÔÓ¿ÉÄܵ¼Ö¸ø±í¼ÓµÄ¶ÁËøʱ¼ä¾Í³¤,»áµ¼ÖÂдµÄ²Ù×÷ÎÞ·¨½øÐÐ. innodbºÍMyISAM×î´óµÄÇø±ðÔÚÓÚinnodbÖ§³ÖÊÂÎñ´¦ÀíºÍÐм¶Ëø,Ðм¶Ëø´øÀ´µÄºÃ´¦ÊÇ¿ÉÒÔÖ§³Ö´ó¹æÄ£µÄ²¢·¢Ó¦ÓÃ(ÉèÖõĺõÄÇé¿öÏÂ),µ±È»¿ØÖƵĶÔÏóԽС,²½Öè¾ÍÔ½¸´ÔÓ,ÄÇôÏûºÄµÄ×ÊÔ´¾ÍÔ½¶à. ¿ÉÒÔͨ¹ýÔÚMySQLÀïÃæ²é¿´×´Ì¬±äÁ¿µÄ·½Ê½À´²é¿´innodbËøµÄʹÓÃÇé¿ö: mysql> show status like "innodb_row_lock%";
+-------------------------------+-------+
| Variable_name                 | Value |
+-------------------------------+-------+
| Innodb_row_lock_current_waits | 0     |
| Innodb_row_lock_time          | 0     |
| Innodb_row_lock_time_avg      | 0     |
| Innodb_row_lock_time_max      | 0     |
| Innodb_row_lock_waits         | 0     |
+-------------------------------+-------+
5 rows in set (0.00 sec) »¹¿ÉÒÔͨ¹ýshow engine innodb status\G²é¿´Ò»´ó¶ÑÐÅÏ¢.½øÐмòÒª·ÖÎö. innodbÓÐÁ½ÖÖÀàÐ͵ÄÐм¶Ëø:¹²ÏíËøºÍÅÅËûËø;ΪÁËÔÊÐíÐÐËøºÍ±íËø¹²´æ.ʵÏÖ¶à¿ÅÁ£¶ÈËø»úÖÆ,innodb»¹ÓÐ2ÖÖÄÚ²¿Ëø(Intention locks),Õâ¾ÍÊÇÒâÏò¹²ÏíËøºÍÒâÏòÅÅËûËø.ÕâÁ½ÖÖËù¶¼ÊÇ±í¼¶Ëø. a)¹²ÏíËø(S):ÔÊÐíÒ»¸öÊÂÎñÈ¥¶ÁÒ»ÐÐ,×èÖ¹ÆäËûÊÂÎñ»ñµÃÏàͬÊý¾Ý¼¯µÄÅÅËûËø. b)ÅÅËûËø(X):ÔÊÐí»ñµÃÅÅËûËøµÄÊÂÎñ¸üÐÂÊý¾Ý,×èÖ¹ÆäËûÊÂÎñ»ñÈ¡ÏàͬÊý¾Ý¼¯µÄ¸÷Ïî¶ÁËøºÍÅÅËûдËø. c)ÒâÏò¹²ÏíËø(IS):ÊÂÎñ´òËã¸øÊý¾ÝÐмӹ²ÏíËø,ÊÂÎñÔÚÈ¡µÃÒ»¸öÊý¾ÝÐеĹ²ÏíËø֮ǰ±ØÐëÏÈÈ¡µÃ¸Ã±íµÄISËø. d)ÒâÏòÅÅËûËø(IX):ÊÂÎñ´òËã¸øÊý¾ÝÐмÓÅÅËûËø,ÊÂÎñÔÚÈ¡µÃÒ»¸öÊý¾ÝÐеÄÅÅËûËø֮ǰ±ØÐëÏÈÈ¡µÃ¸Ã±íµÄIXËø.          ÇëÇóËøÄ


Ïà¹ØÎĵµ£º

MySQLÖÐselect * for updateËø±íµÄÎÊÌâ


select * for updateËø±íµÄÎÊÌâ
ÓÉÓÚInnoDBÔ¤ÉèÊÇRow-Level Lock£¬ËùÒÔÖ»ÓС¸Ã÷È·¡¹µÄÖ¸¶¨Ö÷¼ü£¬MySQL²Å»áÖ´ÐÐRow lock (Ö»Ëøס±»Ñ¡È¡µÄ×ÊÁÏÀý) £¬·ñÔòMySQL½«»áÖ´ÐÐTable Lock (½«Õû¸ö×ÊÁÏ±íµ¥¸øËøס)¡£
¾Ù¸öÀý×Ó:
¼ÙÉèÓиö±íµ¥products £¬ÀïÃæÓÐid¸úname¶þ¸öÀ¸Î»£¬idÊÇÖ÷¼ü¡£
Àý1: (Ã÷È·Ö¸¶¨Ö÷¼ü£¬²¢ÇÒÓд˱Ê×ÊÁÏ£¬ ......

MySQLÓëÊÂÎñ (ת)

MySQL5.X¶¼ÒѾ­·¢²¼ºÃ¾ÃÁË£¬µ«ÊÇ»¹ÓкܶàÈËÈÏΪMySQLÊDz»Ö§³ÖÊÂÎñ´¦ÀíµÄ£¬Õâ²»µÃ²»¹ÖËûÃÇÊǹª¹ÑÎŵģ¬Æäʵ£¬Ö»ÒªÄãµÄMySQL°æ±¾
Ö§³ÖBDB»òInnoDB±íÀàÐÍ£¬ÄÇôÄãµÄMySQL¾Í¾ßÓÐÊÂÎñ´¦ÀíµÄÄÜÁ¦¡£ÕâÀïÃ棬ÓÖÒÔInnoDB±íÀàÐÍÓõÄ×î¶à£¬ËäÈ»ºóÀ´·¢ÉúÁËÖîÈçOracleÊÕ
¹ºInnoDBµÈÁîMySQL²»Ë¬µÄÊÂÇ飬µ«ÄÇЩÉÌÒµÉϵĶ·ÕùÓë¼¼ÊõÎ޹أ ......

linux ÏÂ mysql °²×°

linux
mysql
°²×°½éÉÜ:
linux
·þÎñÆ÷ RedHat 5.0.server.
MySQL
°æ±¾:
ÏÂÔصØÖ·Á´½Ó:http://dev.mysql
.com/downloads/mysql
/5.1.html 
MySQL
·þÎñ¶Ë:MySQL
-server-community-5.1.38-0.rhel5.i386.rpm
MySQL
¿Í»§¶Ë:MySQL
-client-community-5.1.38-0.rhel5.i386.rpm
1 °²×°²½ÖèÊ×ÏȼÓÔعâÇý ......

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 SELEC ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ