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)
Ïà¹ØÎĵµ£º
1,ÔÚwindow×Ô´øµÄ·À»ðǽÀïµÄÀýÍâÌí¼Ó3306¶Ë¿Ú£¬ÎªTCP
2£¬½ñÌìÔÚÓÃÔ¶³ÌÁ¬½ÓMysql·þÎñÆ÷µÄÊý¾Ý¿â£¬²»¹ÜÔõôŪ¶¼ÊÇÁ¬½Ó²»µ½£¬´íÎó´úÂëÊÇ1130£¬ERROR 1130: Host 192.168.2.159 is not allowed to connect to this MySQL server
²ÂÏëÊÇÎÞ·¨¸øÔ¶³ÌÁ¬½ÓµÄÓû§È¨ÏÞÎÊÌâ¡£½á¹ûÕâÑù×Ó²Ù×÷mysql¿â£¬¼´¿É½â¾ö¡£ÔÚ±¾»úµÇÈëmysqlºó£¬¸ ......
¼ÇµÃǰÌìÓÐÈËÎÊÎÒ£¬ Memcache ºÍ MySQL ×Ô¼ºµÄ Query Cache ÓÐÉ¶Çø±ð? ÎÒÕâÑù»Ø´ðµÄ£¬Ç°ÕßÊÇɽկÖеÄÕ½¶·»ú£¬ºóÕßÊǹٷ½µÄÕ½¶·»ú¡£
ÐÂÊֻشðÎÊÌ⣬´íÁËι֡£¹þ¹þ¹þ¡£
ºÃÏñϸ½ÚÉϵIJî±ð»¹ÊÇÓеġ£
MemcacheÓŵãÈçÏ£º
1. ÀíÂÛÉÏ¿ÉÒÔÖ§³ÅÎÞÏÞ²¢·¢ÒµÎñ²Ù×÷¡£
2. ¿ÉÒÔÆôÓõ¥¶ÀµÄʵÀýÀ´»º´æ¾Þ¶àµÄÊý¾Ý¡££¨µ± ......
±íÉè¼Æ·½Ã棺
1¡¢×Ö¶ÎÃû¾¡Á¿¼ò»¯£¬²»Òª³¬¹ý18¸ö×Ö·û
2¡¢Ê¹Óþ¡Á¿Ð¡µÄÊý¾ÝÀàÐÍ£¬ÀýÈ磺MEDIUMINT±ÈINTÉÙÕ¼ÓÃ25%¿Õ¼ä
3¡¢×Ö¶ÎÀàÐÍÓ¦¾¡Á¿±ÜÃâÉèÖóɿɱ䳤¶È£¬È磺VARCHAR¡¢BLOB¡¢TEXT
4¡¢ÓÃÓڱȽϵIJ»Í¬×ֶΣ¬Ó¦ÉèÖÃÏàͬµÄÀàÐͼ°³¤¶È
5¡¢¾¡¿ÉÄܽ«×Ö¶ÎÉùÃ÷ΪNOT NULL£¬²¢Ö¸¶¨DEFAULT
6¡¢Ö÷Ë÷Òý¾¡¿ÉÄܶÌ
7¡¢½ö´´½¨ÕæÕý ......
CREATE DEFINER=`root`@`%` FUNCTION `sp_cn`(n_LowerMoney decimal(15,2)) RETURNS varchar(200) CHARSET utf8
begin
Declare v_LowerStr VARCHAR(200) ;
Declare v_UpperPart VARCHAR(200) ;
Declare v_UpperStr VARCHAR(200) ;
Declare i_I int ;
set v_LowerStr = LTRIM(RTRIM(ROUND(n_LowerMoney,2 ......