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
Ïà¹ØÎĵµ£º
ŪÁËÒ»ÍíÉÏ£¬²éÁËn¶àÎÄÕ£¬³¢ÊÔÁËn¶à¸´Ôӵķ½·¨£¬×îºóÖÕÓÚÔÚһƪÎÄÕÂÖÐÕÒµ½ÁËÒ»¸ö³¬¼òµ¥µÄ·½·¨£¬ÕæÊÇÌ¤ÆÆÌúЬÎÞÃÙ´¦°¡£¡²»Óð´Õչܷ¨µÄ×ö·¨£¬Ö»Òª°´ÕÕÏÂÎĵķ½·¨±£¹ÜÄã¿ÉÒԳɹ¦ÅäÖÃtomcatµÄÁ¬½Ó³Ø¡£
½«tomcat/conf/context.xmlÎļþÖÃΪÒÔÏÂÄÚÈÝ¡£
<Context reloadable="true">
< ......
À´×Ô£ºhttp://www.sofee.cn/blog/2007/07/18/91/
MySQL 5.1ÐÂÌØÐÔ֮ʼþµ÷¶ÈÆ÷(Event Scheduler)
CREATE-EVENT, cron, Event-Scheduler, ´¥·¢Æ÷, ¼Æ»®ÈÎÎñ, MySQL,Triggers, ʼþµ÷¶ÈÆ÷, ×÷Òµµ÷¶È
July 18, 2007 at 20:34:50 · Filed under MySQL
Ò»¡¢Ç°ÑÔ
×ÔMySQL5.1 ......
Analyze Table
MySQL µÄOptimizer£¨ÓÅ»¯Ôª¼þ£©ÔÚÓÅ»¯SQLÓï¾äʱ£¬Ê×ÏÈÐèÒªÊÕ¼¯Ò»Ð©Ïà¹ØÐÅÏ¢£¬ÆäÖоͰüÀ¨±íµÄcardinality£¨¿ÉÒÔ·ÒëΪ“É¢Áг̶Ȕ£©£¬Ëü±íʾij¸öË÷Òý¶ÔÓ¦µÄÁаüº¬¶àÉÙ¸ö²»Í¬µÄÖµ——Èç¹ûcardinality´ó´óÉÙÓÚÊý¾ÝµÄʵ¼ÊÉ¢Áг̶ȣ¬ÄÇôË÷Òý¾Í»ù±¾Ê§Ð§ÁË¡£
ÎÒÃÇ¿ÉÒÔʹÓÃSHOW& ......
³£³£Óöµ½´óÊý¾ÝÁ¿Æµ·±¶ÁÐ´ÊÆ±Ø»áµ¼Ö·þÎñÆ÷µÄÐÔÄÜϽµ¡£ÏÂÃæ¼Ç¼һ϶ÔmysqlµÄÓÅ»¯ÅäÖÃ
1.Ê×ÏȹرÕauto commit¡£
2.¶ÔÓÚÊý¾Ý±íʹÓÃInnoDB¡£
3.¹Ø±ÕÍâ¼üÔ¼Êø¡£
4.²ÉÓöàÖµ²åÈë“INSERT INTO ±íÃû VALUES (1,2), (5,5), ...;” Èç¹ûÓдóÁ¿²¢·¢¿ÉÒÔÓøü¸ÄINSERT INTOΪ INSERT DELAYED INTO¿ÉÒÔÔڳ̶ÈÉϽ⾠......
Ò»¡¢²ÎÕÕÍêÕûÐÔ(Referential integrity)ºÍÍâ¼ü(foreign key)
²ÎÕÕÍêÕûÐÔ(Referential integrity)ÊÇÓÃÓÚÔ¼¶¨Á½¸ö¹ØÏµÖ®¼äµÄÁªÏµ£¬ÀíÂÛÉϹ涨£ºÈôMÊǹØÏµSÖеÄÒ»ÊôÐÔ×飬ÇÒMÊÇÁíÒ»¹ØÏµZµÄÖ÷¹Ø¼ü×Ö£¬Ôò³ÆMΪ¹ØÏµS¶ÔÓ¦¹ØÏµZµÄÍâ¹Ø¼ü×Ö¡£ÈôMÊǹØÏµSµÄÍâ¹Ø¼ü×Ö£¬ÔòSÖÐÿһ¸öÔª×éÔÚMÉϵÄÖµ±ØÐëÊÇ¿ÕÖµ»òÊǶÔÓ¦¹ØÏµZÖÐij¸öÔª×éµÄÖ÷¹ ......