MySQL Explain µÄʹÓÃ
¶ÔÓÚʹÓà MySQL Õâ¸öÊý¾Ý¿âϵͳµÄÓû§À´Ëµ£¬Ëü²»½ö¿ªÔ´£¬Îȶ¨£¬Ð§ÂÊÒ²ºÜ¸ß¡£µ«ÓÐʱҲ»áÓöµ½Ò»Ð©ÐÔÄÜ·½ÃæµÄÎÊÌâ¡£Ò»°ãÇé¿ö¿ÉÄÜ»áÓÐÒÔϼ¸ÖÖ¿ÉÄÜ£º
1. Êý¾Ý±íµÄË÷ÒýûÓкÏÀíµÄ½¨ºÃ»òʹÓá£
2. SQLÓï¾ä¹ýÓÚ¸´ÔÓ£¬£¨×ó/ÓÒÁ¬½Ó£¬¶à±í²éѯµÈ£©¡£
3. ·þÎñÆ÷ÅäÖò»ºÏÀí¡£
4. ·þÎñÆ÷±¾ÉíµÄ´¦ÀíÄÜÁ¦²»¼Ñ£¬¸ººÉ²»Æð¡£
µ«ÔÚʵ¼ÊµÄÏîĿӦÓÃÖУ¬×î·½±ã¿ÉÒÔÓÅ»¯µÄÒ²¾ÍÊÇSQLÓï¾ä¡£ÒÔϾͶÔÓÚSQLµÄÖ´ÐеÄЧÂʽøÐзÖÎö£¬ÎÒÃÇ¿ÉÒÔʹÓÃEXPLAIN/DESCÀ´¼ì²éÕâЩÓï¾ä£¬Ëü¿ÉÒԺܺõØÏÔʾmysqlÈçºÎʹÓÃË÷ÒýÀ´´¦ÀíselectÓï¾äÒÔ¼°Á¬½Ó±í¡£¿ÉÒÔ°ïÖúÑ¡Ôñ¸üºÃµÄË÷ÒýºÍд³ö¸üÓÅ»¯µÄ²éѯÓï¾ä¡£
ʹÓ÷½·¨È磺EXPLAIN SELECT fieldname from tablename WHERE fieldi=$statement;
mysql> explain SELECT * from `album` WHERE aid = 5252 AND del = 0 AND ORDER BY `dateline` DESC LIMIT 4;
+----+-------------+---------+------+---------------+-------+---------+-------+------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+------+---------------+-------+---------+-------+------+-----------------------------+
| 1 | SIMPLE | album | ref | aid | aid | 4 | const | 1 | Using where; Using filesort |
+----+-------------+---------+------+---------------+-------+---------+-------+------+-----------------------------+
1 row in set (0.00 sec)
Ò»¡¢EXPLAIN ÁеĽâÊÍ£º
table
£ºÏÔʾÕâÒ»ÐеÄÊý¾ÝÊǹØÓÚÄÄÕűíµÄ¡£
type
£º ÕâÊÇÖØÒªµÄÁУ¬ÏÔʾÁ¬½ÓʹÓÃÁ˺ÎÖÖÀàÐÍ¡£´Ó×îºÃµ½×î²îµÄÁ¬½ÓÀàÐÍΪconst¡¢eq_reg¡¢ref¡¢range¡¢indexheºÍALL¡£
possible_keys
£ºÏÔʾ¿ÉÄÜÓ¦ÓÃÔÚÕâÕűíÖеÄË÷Òý¡£Èç¹ûΪ¿Õ£¬Ã»ÓпÉÄܵÄË÷Òý¡£¿ÉÒÔΪÏà¹ØµÄÓò´ÓWHEREÓï¾äÖÐÑ¡ÔñÒ»¸öºÏÊʵÄÓï¾ä¡£
key
£ºÏÔʾMySQLʵ¼Ê¾ö¶¨Ê¹Óõļü(Ë÷Òý)¡£Èç¹
Ïà¹ØÎĵµ£º
×öÈí¼þÊý¾Ý¿â±Ø²»¿ÉÉÙ£¬ÎÒÑ¡ÔñÁËMySQL¡£
Ê×Ïȵ½http://dev.mysql.com/downloads/ÏÂÔØºÃMySQL5.1ºÍMySQL GUI TOOLS
ϵ½µçÄÔÉÏ,È»ºó°²×°£¬ÏÈ×°5.1ÔÙ×°gui tools ,һ·ȷ¶¨°É¡£
ŪºÃºó£¬µã¿ªMySQL Query Browser£¬¾Í¿ÉÒÔ²Ù×÷Êý¾Ý¿âÁË¡£
MySQLµÄÇý¶¯³ÌÐòÊÇGUITOOLS°²×°Ä¿Â¼/java/libϵÄmysql-connector-java-5.0.4-bin.ja ......
°²×°MySQL
sudo apt-get install mysql-server mysql-admin mysql-navigator mysql-query-browser
Õâ¸öÓ¦¸ÃºÜ¼òµ¥ÁË£¬¶øÇÒÎÒ¾õµÃ´ó¼ÒÔÚ°²×°·½ÃæÒ²Ã»Ê²Ã´Ì«´óÎÊÌ⣬ËùÒÔÒ²¾Í²»¶à˵ÁË£¬ÏÂÃæÎÒÃÇÀ´½²½²ÅäÖá£
ÅäÖÃMySQL
×¢Ò⣬ÔÚUbuntuÏÂMySQLȱʡÊÇÖ»ÔÊÐí±¾µØ·ÃÎʵģ¬Èç¹ûÄãÒªÆäËû»úÆ÷Ò²Äܹ»·ÃÎʵϰ£¬ÄÇôÐèÒª¸Ä±ä/etc/m ......
10055:ûÓлº´æ¿Õ¼ä¿ÉÀûÓà ·½·¨:²é¿´ÏÂÄãµÄCÅ̿ռäÊÇ·ñÒѾÂú,Çå³ýһЩûÓÐÓõÄÎļþ. ¿ÉÒÔÔÚºǫ́µÄ"ÂÛ̳ºËÐÄÉèÖÃ","ºËÐŦÄÜÉèÖÃ"Àï"½ø³ÌÓÅ»¯"¿ªÆô,"GZIP ѹËõÊä³ö"¹Ø±Õ. ²éÕÒÁËÒ»ÏÂ10055£¨Ã»Óлº´æ
˵Ã÷:Èç¹ûÓöµ½Êý¾Ý¿â³ö´íµÄÎÊÌâÐÞ¸ÄÏàÓ¦µÄ´úÂëºóÒ»°ãÒªÖØÆômysql¡£Èç¹ûÓöµ½mysqlµÄÎÊÌâ¿ÉÒÔÏÈÖØÆ ......
½¨Á¢Íâ¼üµÄǰÌ᣺ ±¾±íµÄÁбØÐëÓëÍâ¼üÀàÐÍÏàͬ(Íâ¼ü±ØÐëÊÇÍâ±íÖ÷¼ü)¡£
Íâ¼ü×÷Ó㺠ʹÁ½ÕűíÐγɹØÁª£¬Íâ¼üÖ»ÄÜÒýÓÃÍâ±íÖеÄÁеÄÖµ£¡
Ö¸¶¨Ö÷¼ü¹Ø¼ü×Ö£º foreign key(ÁÐÃû)
ÒýÓÃÍâ¼ü¹Ø¼ü×Ö£º references <Íâ¼ü±íÃû>(Íâ¼üÁÐÃû)
ʼþ´¥·¢ÏÞÖÆ: on deleteºÍon update , ¿ÉÉè²ÎÊýcascade(¸úËæÍâ¼ü¸Ä¶¯ ......
ÔÚMySQL 3.23.44°æ±¾ºó£¬InnoDBÒýÇæÀàÐ͵ıíÖ§³ÖÁËÍâ¼üÔ¼Êø¡£
Íâ¼üµÄʹÓÃÌõ¼þ£º
1.Á½¸ö±í±ØÐëÊÇInnoDB±í£¬MyISAM±íÔÝʱ²»Ö§³ÖÍâ¼ü£¨¾Ý˵ÒÔºóµÄ°æ±¾ÓпÉÄÜÖ§³Ö£¬µ«ÖÁÉÙĿǰ²»Ö§³Ö£©£»
2.Íâ¼üÁбØÐ뽨Á¢ÁËË÷Òý£¬MySQL 4.1.2ÒÔºóµÄ°æ±¾ÔÚ½¨Á¢Íâ¼üʱ»á×Ô¶¯´´½¨Ë÷Òý£¬µ«Èç¹ûÔÚ½ÏÔçµÄ°æ±¾ÔòÐèÒªÏÔʾ½¨Á¢£»
3.Íâ¼ü¹ØÏ ......