MySQLÐÔÄÜÓÅ»¯TIPS
Ò». Æô¶¯²ÎÊýÓÅ»¯
ÐÞ¸Ä my.cnf (»òÕßmy.ini)£¬¼ÓÈë/ÐÞ¸ÄÒÔϼ¸ÐÐ
#É趨»º´æµÄÁ¬½ÓÊý,½ÚÊ¡Á¬½ÓʱµÄ¿ªÏú
back_log = 64
#½ûÓÃÎļþϵͳÍâ²¿Ëø
external-locking = 0
#½ûÓÃBDB,Èç¹ûÄãȷʵ²»ÐèÒªµÄ»°,innodbÒ²ÊÇÈç´Ë
skip-bdb
#Ë÷Òý»º³å,Èç¹ûÊÇרÓõÄÊý¾Ý¿â·þÎñÆ÷,¿ÉÒÔÉèÖøߴï·þÎñÆ÷ÄÚ´æµÄÒ»°ë,Èç¹û²»ÊÇרÓõÄ,
#»¹ÊÇÉèÖõõÍÒ»µã
key_buffer = 512M
#»º´æÊý¾Ý±íÊýÁ¿,Èç¹ûÄÚ´æ½Ï´ó,¿ÉÒÔÉèÖÃÉÔ΢¸ßÒ»µã,·ñÔò»¹ÊÇÉèÖõÍÒ»µã
#ÉèÖÃÕâ¸ö²ÎÊý¿ÉÒԲμûϵͳ״̬ÖÐµÄ open_tables(±íʾµ±Ç°´ò¿ªµÄÊý¾Ý±í×ÜÊý)
#ºÍ opened_tables(±íʾËùÓдò¿ªµÄÊý¾Ý±í×ÜÊý)
table_cache = 128
#½ûÓÃdns½âÎö,Èç¹ûÄãµÄÊÚȨÐÅÏ¢ÖвÉÓÃdnsÊÚȨ·½Ê½ÁË,¾Í²»ÄÜÆôÓøÃÑ¡Ïî
skip-name-resolve
#¼Ç¼Âý²éѯºÍûÓÐʹÓÃË÷ÒýµÄ²éѯ,±ãÓÚ°ïÖú·ÖÎöÎÊÌâËùÔÚ
long_query_time = 1
log-slow-queries = /usr/local/mysql/data/slow.log
log-queries-not-using-indexes
ÆäËû²ÎÊýÖîÈç sort_buffer_size,net_buffer_length,read_buffer_size,read_rnd_buffer_size,myisam_sort_buffer_size,
thread_cache_size,query_cache_size,max_binlog_cache_size µÈÇë²éѯMySQLÊÖ²á,È»ºó×ö³öºÏÊʵĵ÷Õû.
¶þ. ÆäËûСTIPS
Õë¶ÔInnodb±í,¾¡Á¿²»Ö´ÐÐ SELECT COUNT(*) Óï¾ä,ÒòΪInnodb±íûÓÐÀàËÆMyISAMÄÇÑùµÄÄÚ²¿¼ÆÊýÆ÷À´¼Ç¼±í¼Ç¼×ÜÁ¿,Ö´ÐÐÕâ¸ö²Ù×÷½«»áÈ«±íɨÃè,ËٶȺÜÂý.
¾¡Á¿Ê¹ÓÃMyISAM±í,³ý·Ç±ØÐëʹÓÃÆäËûÀàÐÍ,ÒòΪMyISAMÀàÐ͵Ä×ÜÌå¶ÁдЧÂÊÊÇÏ൱¸ßµÄ,ȱµãÊÇ±í¼¶Ëø,¶ø²»ÊÇÐÐ/Ò³¼¶Ëø.
ÉÆÓà EXPLAINÀ´°ïÖúÄã·ÖÎö²éѯÓÅ»¯Çé¿ö
Èç¹ûÐèÒª¶ÔÒ»¸ö½Ï´óµÄÇÒ²¢·¢¶Áд½Ï¶àµÄÊý¾Ý±í×ö GROUP BY µÈͳ¼Æ²Ù×÷,½¨ÒéʹÓÃÕªÒª±íÀ´´æ´¢Í³¼ÆÐÅÏ¢,¶¨ÆÚ¸üÐÂͳ¼Æ±í,Õâ¿ÉÄÜ»ñµÃºÜ´óµÄÐÔÄܸÄÉÆ.
²éѯʱÈç¹ûÓÐ ORDER BY·Ö¾äµÄ»°,×¢ÒâÈÃËüµÄ×Ö¶Î˳ÐòºÍË÷Òý×Ö¶Î˳Ðò¶ÔÓ¦,ÕâÑùÄܼӿìÅÅÐòËÙ¶È
Èç¹ûÓÐÒ»¸ö¶à×Ö¶ÎË÷Òý,Ôò²éѯʱ,±ØÐë°´ÕÕË÷Òý˳ÐòÀ´Ê¹ÓÃ,·ñÔò¸ÃË÷Òý²»»áÓõ½.ÀýÈç:
Ë÷Òý `idx_`(col1, col2, col3),ÄÇô²éѯ SELECT .... from ... WHERE col1=1 AND col2=2; ʹÓÃË÷Òý,¶ø²éѯ ... WHERE col2=2 AND col3=3; »ò ... WHERE col1=1 AND col3=3; Ôò²»Ê¹ÓÃË÷Òý.
WHERE ÖеÄÌõ¼þÈç¹ûÓкãÁ¿ÀàÐ͵Ä(Èç `field` = 1),¾Í¾¡Á¿·ÅÔÚÇ°Ãæ,ÕâÑùÄܸü¿ìµÄÖ´ÐйýÂË.
2 ¸ö±íÁ¬½Óʱ,Á¬½Ó×ֶεÄÀàÐÍ×îºÃÒ»ÖÂ(°üÀ¨×ֶ㤶È),ÕâÑùµÄ»°Ë÷ÒýËÙ¶È¿ì¶àÁË.
´ó²¿·ÖÇé¿öÏÂ,×Ö·ûÀàÐ͵Ä×Ö¶ÎË÷ÒýÖµÐèÒªÒ»²¿·Ö,ÀýÈç CREATE INDEX
Ïà¹ØÎĵµ£º
ÒÔÏÂËùÓÐÃüÁî¶¼ÊÇÔÚ½øÈëmysql¼à¿ØÆ÷ÖÐÖ´Ðеģº
a. show tables»òshow tables from database_name; // ÏÔʾµ±Ç°Êý¾Ý¿âÖÐËùÓбíµÄÃû³Æ
b. show databases; // ÏÔʾmysqlÖÐËùÓÐÊý¾Ý¿âµÄÃû³Æ
c. show columns from table_name from database_name; »òshow columns from databa ......
×öÊý¾Ý¿âµ÷ÓÅ£¬Ò»¸ö¼òµ¥µÄtip¾ÍʹÐÔÄÜÌáÉýÒ»´ó¿éʱ£¬±»°ïÖúµÄÈË×ÔÈ»ÊǸßÐ˶øÇҸм¤£¬ÎÒÒ²ÊÇÂúÐÄ»¶Ï²¡£ÓÃËùѧ°ïÖúÁËËûÈË£¬Ò²ËµÃ÷»¹ÊÇÓÐÒ»¼¼Ö®³¤µÄ£¬ÓÐÒ»ÃÅÄܹ»Ñø»î×Ô¼ºµÄÊÖÒÕ¡£Ò²ËãÊÇÊÖÒÕÈ˰¡¡£
ͬÊÂÈÃÎÒ°ïÖúÓÅ»¯£¬ÔÚslow query logÀï·¢ÏÖÓÐÁ½¸öSQLÖ´ÐеĴÎÊý×î¶à£¬²¢ÇÒÿ´Î¶¼ÔÚÁ½ÃëÒÔÉÏ¡£ÓÃexplain¿´ÁË£¬Ò²Î´·¢ÏÖË÷ÒýʹÓ÷ ......
ͨ¹ý·ÖÇø£¨Partition£©ÌáÉýMySQLÐÔÄÜ
×÷Õߣºfoxcai À´Ô´:foxcai µÄ Blog (2006-05-08 14:30:34)
ͨ¹ý·ÖÇø£¨Partition£©ÌáÉýMySQLÐÔÄÜ
——MySQL5.1ÐÂÌØÐÔ·ÒëϵÁÐ
¼¸Äêǰ£¬°³Ð´¹ýһƪÌâΪ“The Founda ......
innodb_buffer_pool_size
Èç¹ûÓÃInnodb£¬ÄÇôÕâÊÇÒ»¸öÖØÒª±äÁ¿¡£Ïà¶ÔÓÚMyISAMÀ´Ëµ£¬Innodb¶ÔÓÚbuffer size¸üÃô¸Ð¡£MySIAM¿ÉÄܶÔÓÚ´óÊý¾ÝÁ¿Ê¹ÓÃĬÈϵÄkey_buffer_sizeÒ²»¹ºÃ£¬µ«InnodbÔÚ´óÊý¾ÝÁ¿Ê±ÓÃĬÈÏÖµ¾Í¸Ð¾õÔÚÅÀÁË¡£ InnodbµÄ»º³å³Ø»á»º´æÊý¾ÝºÍË÷Òý£¬ËùÒÔ²»ÐèÒª¸øÏµÍ³µÄ»º´æÁô¿Õ¼ä£¬Èç¹ûÖ»ÓÃInnodb£¬¿ÉÒÔ°ÑÕâ¸öÖµÉèΪ ......
MySQL ×Ö·û´®½ØÈ¡º¯Êý£ºleft(), right(), substring(), substring_index()¡£»¹ÓÐ mid(), substr()¡£ÆäÖУ¬mid(), substr() µÈ¼ÛÓÚ substring() º¯Êý£¬substring() µÄ¹¦Äܷdz£Ç¿´óºÍÁé»î¡£
1. ×Ö·û´®½ØÈ¡£ºleft(str, length)
mysql> select left('sqlstudy.com', 3);
+-------------------------+
| left('sq ......