MYSQLÒýÇæ¼òµ¥¶Ô±È
·þÎñÆ÷ÒµÎñÀàÐÍ¶Ô±È ÐÔÄÜÆ¿¾±
DB I/O´ÅÅÌ
ת·¢·þÎñÆ÷ Íø¿¨PPS
¶¯Ì¬WEBǰ̨ CPU
¾²Ì¬WEBǰ̨ Íø¿¨ £¨Á÷Á¿£©
ACIDÔÔò
MYSQL ÒýÇæ
MYISAM ±íËø µÍ²¢·¢Ê¹Óà ·Ç´ØINDEX
INNODB ÐÐËø ¸ß²¢·¢Ê¹Óà ´ØINDEX
½¨±í£º
MYISAM
°´»ñÈ¡µÄÖµÒ»¸ö¸ö´´½¨£¬²»»á½øÐÐÅÅÐò¡£Èç 1£¬aa;13,aa;11,aa ÊäÈ룬ÔÚÊý¾Ý±íÖÐΪ1£¬aa;13,aa;11,aaÈýÌõ¼Ç¼
INNODB
½øÐÐÅÅÐòºó´´½¨¡£Èç 1£¬aa;13,aa;11,aa ÊäÈ룬ÔÚÊý¾Ý±íÖÐΪ1£¬aa;11,aa£¬13,aaÈýÌõ¼Ç¼
ÔÒòÊÇʲô£¿·Ç´ØINDEX¹ØÏµ
²éѯ
IDÊÇINDEX
MYISAM
select count(*) from xxx; ¿ì
ÒòΪÊÇͳ¼ÆÁ¿Áí´æÒ»¸öµØ·½£¬Ö±½Óȥȡֵ
select * from xxx where id>1; Âý
·Ç´ØINDEX¹ØÏµ£¬Ë÷ÒýKEY´æ·ÅÔÚÒ»¸ö½Úµã£¬Êý¾Ý·ÅÔÚÁíÒ»µØ·½£¬Í¨¹ýÖ¸Õë»ñÈ¡¡£
select id from xxx where id>1; ¿ì
Ö»¶ÁÈ¡Ë÷ÒýÁбí
INNODB
select count(*) from xxx; Âý
Ò»ÐÐÐÐͳ¼Æ
sleect * from xxx where id>1; ¿ì
´ØINDEX¹ØÏµ£¬Ë÷ÒýKEYºÍÊý¾Ý·ÅÔÚÒ»µØ·½¡£
select id from xxx where id>1; Âý
Ò»¸ö¸öÈ¥¶Á¡£
д¸ø×Ô¼º¿´£¬³õ²½Àí½â£¬Óдý¼ÓÇ¿£¬´íÎóÄÑÃâ¡£
ÈçºÎд±íÃû»òÕß×Ö¶ÎÃûÊDZäÁ¿µÄ²ÎÊý²éѯ£¿
declare @sql varchar(200)
set @sql='select * from ' + @table_name
execute(@sql)
Ïà¹ØÎĵµ£º
If you set it in the cnf(it may be my.ini file) you will likely need to restart the server. Optionally, that is a dynamic variable and can be SET GLOBAL or SET SESSION from the command line as well.So just do as follows.
mysql>show variables like’max_allowed_packet’;
......
¼ÇµÃǰÌìÓÐÈËÎÊÎÒ£¬ Memcache ºÍ MySQL ×Ô¼ºµÄ Query Cache ÓÐÉ¶Çø±ð? ÎÒÕâÑù»Ø´ðµÄ£¬Ç°ÕßÊÇɽկÖеÄÕ½¶·»ú£¬ºóÕßÊǹٷ½µÄÕ½¶·»ú¡£
ÐÂÊֻشðÎÊÌ⣬´íÁËι֡£¹þ¹þ¹þ¡£
ºÃÏñϸ½ÚÉϵIJî±ð»¹ÊÇÓеġ£
MemcacheÓŵãÈçÏ£º
1. ÀíÂÛÉÏ¿ÉÒÔÖ§³ÅÎÞÏÞ²¢·¢ÒµÎñ²Ù×÷¡£
2. ¿ÉÒÔÆôÓõ¥¶ÀµÄʵÀýÀ´»º´æ¾Þ¶àµÄÊý¾Ý¡££¨µ± ......
ÏÖÔÚа汾µÄmysql¼¯ÈºÒÑ´ÓÆÕͨµÄmysql°æ±¾ÖÐÌáÈ¡³öÀ´ÁË£¬Ò²¾ÍÊÇÒª×ömysqlµÄ¼¯ÈºÐèҪѡÔñmysql¼¯Èº¶ÔÓ¦µÄÈí¼þ°ü¡£¶øÇÒmysqlרÃÅÌṩÁËÕë¶Ôredhat ²Ù×÷ϵͳµÄrpmÈí¼þ°ü¡£¿ÉÒÔ´Óhttp://dev.mysql.com/downloads/»ñµÃ¶ÔÓ¦µÄ²Ù×÷ϵͳµÄrpmÈí¼þ°ü¡£ÔÚÕâÀïÖ÷ ......
½ñÔçÊÕµ½ÁËMySQLµÄÓʼþ£¬È«ÎÄÈçÏ£º
Ç×°®µÄÕü¾ÈMySQLµÄÖйúÇ©ÃûÖ§³ÖÕߣ¬
Å·ÃË¿ÉÄÜÎÞ·¨Õü¾ÈMySQL,ÖйúºÍ¶íÂÞ˹¿ÉÄÜÊÇÕü¾ÈMySQLµÄÏ£ÍûÖ®ËùÔÚ¡£ÖйúÓµÓÐÇ¿´ó¡¢¶ÀÁ¢ÒÔ¼°×ÔÐŵķ´Â¢¶ÏÖ÷¹Ü»ú¹Ø£¬Òò´Ë£¬ÎÒ±¾ÈËÔÚ´ËÇëÇóÄúµÄ°ïÖú¡£¶ÔÓÚÄúÔÚhttp://www.helpmysql.org/ru/petitionµÄÇ©Ãû£¬ÎÒÃÇÉî±í¸Ðл¡£Èç¹û¿ÉÒԵϰ£¬ÎÒÃÇÐèÒªÄúµ ......