MySQLµÄ±íËøÎÊÌâ(Ò»)
ÔÚmysqlÊÖ²áÀïÃæÓÐÒ»¶ÎÃèÊö¹ØÓÚlock tablesµÄÓï·¨µÄ. LOCK TABLES
tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}
[, tbl_name [AS alias] {READ [LOCAL] | [LOW_PRIORITY] WRITE}] ...
UNLOCK TABLES
READ
µ±±í²»´æÔÚ WRITE дËøʱ READ ¶ÁËø±»Ö´ÐÐ,Õâ¸Ã״̬ÏÂ,µ±Ç°Ï̲߳»¿ÉÒÔÐÞ¸Ä(insert,update,delete),ÆäËûÏ̵߳ÄÐ޸IJÙ×÷½øÈëÁжÓ,µ±µ±Ç°Ïß³ÌÊÍ·ÅËø,ÆäËûÏß³ÌÐ޸ı»Ö´ÐÐ.
READ LOCAL
READ LOCALºÍREADÖ®¼äµÄÇø±ðÊÇ£¬READ LOCALÔÊÐíÔÚËø¶¨±»±£³Öʱ£¬Ö´ÐзdzåÍ»ÐÔINSERTÓï¾ä£¨Í¬Ê±²åÈ룩¡£µ«ÊÇ£¬Èç¹ûÄúÕý´òËãÔÚMySQLÍâÃæ²Ù×÷Êý¾Ý¿âÎļþ£¬Í¬Ê±Äú±£³ÖËø¶¨£¬Ôò²»ÄÜʹÓÃREAD LOCAL¡£¶ÔÓÚInnoDB±í£¬READ LOCALÓëREADÏàͬ¡£
WRITE
³ýÁ˵±Ç°Óû§±»ÔÊÐí¶ÁÈ¡ºÍÐ޸ı»Ëø±íÍ⣬ÆäËûÓû§µÄËùÓзÃÎʱ»ÍêÈ«×èÖ¹¡£×¢ÒâµÄÊÇÔÚµ±Ç°Ï̵߳±WRITE±»Ö´ÐеÄʱºò,¼´Ê¹Ö®Ç°¼ÓÁËREADû±»È¡Ïû,Ò²»á±»È¡Ïû.
LOW_PRIORITY WRITE
½µµÍÓÅÏȼ¶µÄWRITE,ĬÈÏWRITEµÄÓÅÏȼ¶¸ßÓÚREAD.¼ÙÈ統ǰÏ̵߳ÄLOW_PRIORITY WRITEÔÚÁжÓÀïÃæ,ÔÚδִÐÐ֮ǰÆäËûÏ̴߳«ËÍÒ»ÌõREAD,ÄÇôLOW_PRIORITY WRITE¼ÌÐøµÈ´ý.
µ±ÄúʹÓÃLOCK TABLESʱ£¬Äú±ØÐëËø¶¨Äú´òËãÔÚ²éѯÖÐʹÓõÄËùÓÐµÄ±í¡£ËäȻʹÓÃLOCK TABLESÓï¾ä»ñµÃµÄËø¶¨ÈÔÈ»ÓÐЧ£¬µ«ÊÇÄú²»ÄÜ·ÃÎÊûÓб»´ËÓï¾äËø¶¨µÄÈÎºÎµÄ±í¡£Í¬Ê±£¬Äú²»ÄÜÔÚÒ»´Î²éѯÖжà´ÎʹÓÃÒ»¸öÒÑËø¶¨µÄ±í——ʹÓñðÃû´úÌ棬ÔÚ´ËÇé¿öÏ£¬Äú±ØÐë·Ö±ð»ñµÃ¶Ôÿ¸ö±ðÃûµÄËø¶¨¡£
ÊÖ²á¸ø³öÁËÈçϵÄÀý×Ó:
mysql> LOCK TABLE t WRITE, t AS t1 WRITE;#´ËʱËø¶¨µÄÓ¦¸ÃËãÊÇt±íºÍËüµÄ±ðÃût1mysql> INSERT INTO t SELECT * from t;#´ËʱʹÓÃÁË2´Ît±íERROR 1100: Table 't' was not locked with LOCK TABLESmysql> INSERT INTO t SELECT * from t AS t1;Èç¹ûÄúµÄ²éѯʹÓÃÒ»¸ö±ðÃûÒýÓÃÒ»¸ö±í£¬ÄÇôÄú±ØÐëʹÓÃͬÑùµÄ±ðÃûËø¶¨¸Ã±í¡£Èç¹ûûÓÐÖ¸¶¨±ðÃû£¬Ôò²»»áËø¶¨¸Ã±í¡£
mysql> LOCK TABLE t READ;mysql> SELECT * from t AS myalias;#ÒòΪ²»ÄÜ·ÃÎÊûÓб»Óï¾äËø¶¨µÄÈκεıí,Ó¦¸ÃËã°É±ðÃûmyaliasËã×÷±íÁËERROR 1100: Table 'myalias' was not locked with LOCK TABLESÏà·´µÄ£¬Èç¹ûÄúʹÓÃÒ»¸ö±ðÃûËø¶¨Ò»¸ö±í£¬Äú±ØÐëʹÓøñðÃûÔÚÄúµÄ²éѯÖÐÒýÓÃ¸Ã±í¡£
mysql> LOCK TABLE t AS myalias READ;mysql> SELECT * from t;#µÀÀíºÍÉÏÃæÀàËÆERROR 1100: Table 't' was not locked with LOCK TABLESmysql> SELECT * from t A
Ïà¹ØÎĵµ£º
Ò». Æô¶¯²ÎÊýÓÅ»¯
ÐÞ¸Ä my.cnf (»òÕßmy.ini)£¬¼ÓÈë/ÐÞ¸ÄÒÔϼ¸ÐÐ
#É趨»º´æµÄÁ¬½ÓÊý,½ÚÊ¡Á¬½ÓʱµÄ¿ªÏú
back_log = 64
#½ûÓÃÎļþϵͳÍⲿËø
external-locking = 0
#½ûÓÃBDB,Èç¹ûÄãȷʵ²»ÐèÒªµÄ»°,innodbÒ²ÊÇÈç´Ë
skip-bdb
#Ë÷Òý»º³å,Èç¹ûÊÇרÓõÄÊý¾Ý¿â·þÎñÆ÷,¿ÉÒÔÉèÖøߴï·þÎñÆ÷ÄÚ´æµÄÒ»°ë,Èç¹û²»ÊÇרÓõÄ,
#»¹ÊÇÉ ......
£ÛתÔØ£ÝMySQL£ºMySQL ´´½¨´æ´¢¹ý³Ì£¨MySQL 5.0£©
2008-09-11 22:14
MySQL ´æ´¢¹ý³ÌÊÇ´Ó MySQL 5.0 ¿ªÊ¼Ôö¼ÓµÄй¦ÄÜ¡£´æ´¢¹ý³ÌµÄÓŵãÓÐÒ»Âá¿ð¡£²»¹ý×îÖ÷ÒªµÄ»¹ÊÇÖ´ÐÐЧÂʺÍSQL ´úÂë·â×°¡£ÌرðÊÇ SQL ´úÂë·â×°¹¦ÄÜ£¬Èç¹ûûÓд洢¹ý³Ì£¬ÔÚÍⲿ³ÌÐò·ÃÎÊÊý¾Ý¿âʱ£¨ÀýÈç PHP£©£¬Òª×éÖ¯ºÜ¶à SQL Óï¾ä¡£ÌرðÊÇÒµÎñÂß¼¸´ÔÓµÄʱº ......
ÔÎÄÁ´½Ó£ºhttp://bbs.linuxtone.org/thread-991-1-1.html
ITÔËάר¼ÒÍø--"×ÔÓÉƽµÈ£¬»¥Öú·ÖÏí£¡"
===MySQL»ù´¡====
mysql
ÏÂÔØ
: http://www.mysql.com/
mysqld ³£¹æMySQL·þÎñÆ÷
mysqld-opt ÓÅ»¯
mysql·þÎñ
Æ÷,ÌṩһЩ¹¦ÄÜ¿ÉÒÔÍÚ¾ò¸üºÃµÄ¹¦ÄÜ
mys ......
³£³£Óöµ½´óÊý¾ÝÁ¿Æµ·±¶ÁдÊƱػᵼÖ·þÎñÆ÷µÄÐÔÄÜϽµ¡£ÏÂÃæ¼Ç¼һ϶ÔmysqlµÄÓÅ»¯ÅäÖÃ
1.Ê×ÏȹرÕauto commit¡£
2.¶ÔÓÚÊý¾Ý±íʹÓÃInnoDB¡£
3.¹Ø±ÕÍâ¼üÔ¼Êø¡£
4.²ÉÓöàÖµ²åÈë“INSERT INTO ±íÃû VALUES (1,2), (5,5), ...;” Èç¹ûÓдóÁ¿²¢·¢¿ÉÒÔÓøü¸ÄINSERT INTOΪ INSERT DELAYED INTO¿ÉÒÔÔڳ̶ÈÉϽ⾠......