ÓÉdzÈëÉî½²½âMySQLÊý¾Ý¿âË÷ÒýµÄÑ¡ÔñÐÔ Êý¾Ý¿âË÷Òý
ÔÚMySQLÖУ¬¶ÔÓÚË÷ÒýµÄʹÓò¢ÊÇÒ»Ö±¶¼²ÉÓÃÕýÈ·µÄ¾ö¶¨¡£
¡¡¡¡¼òµ¥±íµÄʾÀý£º
¡¡¡¡create TABLE `r2` (
¡¡¡¡ID` int(11) DEFAULT NULL,
¡¡¡¡ID1` int(11) DEFAULT NULL,
¡¡¡¡CNAME` varchar(32) DEFAULT NULL,
¡¡¡¡KEY `ID1` (`ID1`)
¡¡¡¡) ENGINE=MyISAM DEFAULT charSET=latin1
¡¡¡¡select count(*) from r2;
¡¡¡¡250001 (V1)
¡¡¡¡select count(*) from r2 where ID1=1;
¡¡¡¡83036 (V2)
¡¡¡¡(execution time = 110 ms)
¡¡¡¡(ID1=1)Ìõ¼þ²éѯË÷ÒýµÄÑ¡ÔñÐÔÊÇ V2/V1 = 0.3321 »ò 33.21%
¡¡¡¡Ò»°ãÀ´Ëµ(ÀýÈçÊé “SQL Tuning“),Èç¹ûÑ¡ÔñÐÔ³¬¹ý 20% ÄÇôȫ±íɨÃè±ÈʹÓÃË÷ÒýÐÔÄܸüÓÅ¡£
¡¡¡¡ÎÒÖªµÀOracleÒ»Ö±ÊÇÔÚÑ¡ÔñÐÔ³¬¹ý25%ʱ»áÑ¡ÔñÈ«±íɨÃè¡£
¡¡¡¡¶øMySQLÄØ:
¡¡¡¡mysql> EXPLAIN select count(SUBNAME) from r2 where ID1=1;
¡¡¡¡+----+-------------+-------+------+---------------+-----
¡¡¡¡| id | select_type | TABLE | type | possible_keys | KEY | key_len | ref | rows | Extra |
¡¡¡¡+----+-------------+-------+------+---------------+-----
¡¡¡¡| 1 | SIMPLE | t2 | ref | ID1 | ID1 | 5 | const | 81371 | USING where |
¡¡¡¡+----+-------------+-------+------+---------------+-----
¡¡¡¡Õâ¾ÍÊÇMySQL½«»áʹÓÃË÷ÒýÀ´Íê³ÉÕâ¸ö²éѯ¡£
¡¡¡¡ÈÃÎÒÃÇÀ´¶Ô±ÈË÷Òý²éѯºÍÈ«±íɨÃèµÄÖ´ÐÐʱ¼ä:
¡¡¡¡select count(SUBNAME) from t2 where ID1=1 - 410 ms
¡¡¡¡select count(SUBNAME) from t2 IGNORE INDEX (ID1) where ID1=1 - 200 ms
¡¡¡¡ÈçÄãËù¿´µ½È«±íɨÃèÒª¿ì2±¶¡£
¡¡¡¡²Î¿¼¸üÌØÊâµÄÀý×Ó£ºÑ¡ÔñÐÔ ~95%:
¡¡¡¡select cnt2 / cnt1 from (select count(*) cnt1 from r2) d1, (select count(*) cnt2 from r2 where ID1=1) d2;
¡¡¡¡0.9492 = 94.92%;
¡¡¡¡ËµÃ÷MySQL½«»áÓÃË÷ÒýÀ´Íê³É²éѯ¡£
¡¡¡¡Ö´ÐÐʱ¼ä:
¡¡¡¡select count(SUBNAME) from t2 where ID1=1 - 1200 ms
¡¡¡¡select count(SUBNAME) from t2 IGNORE INDEX (ID1) where ID1=1 - 260 ms
¡¡¡¡Õâ´ÎÈ«±íɨÃèÒª¿ì4.6±¶¡£
¡¡¡¡ÎªÊ²Ã´MySQLÑ¡ÔñË÷Òý·ÃÎʲéѯ?
¡¡¡¡MySQLûÓмÆËãË÷ÒýµÄÑ¡ÔñÐÔ£¬Ö»ÊÇÔ¤²âÂß¼IO²Ù×÷µÄÊýÁ¿£¬²¢ÇÒÎÒÃǵÄÀý×ÓÖмäµÄÂß¼IOÊýÁ¿£¬Ë÷Òý·ÃÎÊÒªÉÙÓÚÈ«±íɨÃè¡£
¡¡¡¡×îºóÎÒÃǵóö½áÂÛ£¬¶ÔÓÚË÷ÒýҪСÐÄʹÓã¬ÒòΪËüÃDz¢²»ÄܰïÖúËùÓеIJéѯ¡£
ÔÎÄÀ´×Ô£ºÓê·ã¼¼Êõ½Ì³ÌÍø http://www.fengfly.com
ÔÎÄÍøÖ
Ïà¹ØÎĵµ£º
Òª²»³öÏÖÂÒÂ룬¾ÍÒª±£³ÖÊý¾Ý¿âºÍÒ³ÃæµÄ±àÂë¸ñʽһÖÂ.ÎÒÈ«²¿Ê¹ÓÃutf-8µÄ±àÂë.
Ê×ÏÈÒ³Ãæ:
1. ½«ÎļþÓÃUE´ò¿ª,½«ÎļþÁí´æÎªUTF-8ÎÞBOM¸ñʽ.ºÜ¶à±à¼Æ÷¶¼¿ÉÓÃ.
2.ʹÓà header("content-type:text/html;¡¡charset=utf-8"); Ç¿ÖÆ×ª»»³Éutf-8µÄ±àÂë.
Ò²¿ÉÒÔн¨Ò»¸öhead.php,ÈçÏÂ,ÔÚÒ³ÃæÖÐÓÃinclude( ......
1.mysqlÖ÷´ÓÊý¾Ý¿âͬ²½ÎÊÌâ
ÔÚʹÓÃmysql 5.0 Ö÷´ÓÊý¾Ý¿âͬ²½Ê±Óöµ½ÎÊÌâһЩÎÊÌ⣺
ÔÚÖ÷´ÓÊý¾Ý¿âͬ²½Ê±£¬ÎÒÃÇ¿ÉÄÜ»áÑ¡ÔñÄÄЩÊý¾Ý¿âÒªÇóͬ²½£¬¶øÄÇЩÊý¾Ý¿âºöÊÓ£¬ÕâÁ½¸ö¹¦ÄÜÊÇ¿¿/etc/my.cnfÎļþÖеÄÁ½¸ö¼üÃû binlog_do_db ºÍ binlog_ignore_db À´ÊµÏÖµÄ
binlog_do_db = ÌîдÐèҪͬ²½µÄÊý¾Ý¿â£¬¶à¸öÊý¾Ý¿âÔòÓÃ&lsqu ......
×öÏîĿʱÓÉÓÚÒµÎñÂß¼µÄÐèÒª£¬±ØÐë¶ÔÊý¾Ý±íµÄÒ»Ðлò¶àÐмÓÈëÐÐËø£¬¾Ù¸ö×î¼òµ¥µÄÀý×Ó£¬Í¼Êé½èÔÄϵͳ¡£¼ÙÉè
id=1
µÄÕâ±¾Êé¿â´æÎª
1
£¬µ«ÊÇÓÐ
2
¸öÈËͬʱÀ´½èÕâ±¾Ê飬´Ë´¦µÄÂ߼Ϊ
Select restnum from book where id =1 ;
-- Èç¹û restnum ´óÓÚ 0 £¬Ö´ÐÐ update
Update boo ......
³õѧmysqlÎÒÒ²Åöµ½ÖÐÎÄ´æ´¢µÄÎÊÌ⣬ÒÔÏÂÊÇÎҵĽâ¾ö·½°¸£º
1.Ê×ÏÈÔÚ×Ö¶ÎÑ¡Ïîcolumn option Öн«×Ö¶Î×Ö·û¼¯column charsetÉèΪgb2312¡£
2.»¹ÐèÒªÔÚ±íÑ¡Ïîtable option ÖÐͬÑù½«charsetÉèÖÃΪgb2312.
3.×îºóÈç¹û»¹²»ÐУ¬¾ÍÔÚmysql°²×°Ä¿Â¼ÏÂÕÒµ½my.ini,ÕÒµ½ÒÔÏÂλÖãº
[mysql]
default-cha ......