MYSQLÖÐEXPLAINµÄ˵Ã÷
mysql> explain select count(id) from t_prehandle_zhigao_05 as zhigao where start_time > '2008-05-30';
+----+-------------+--------+-------+---------------+------------+---------+------+---------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+--------+-------+---------------+------------+---------+------+---------+--------------------------+
| 1 | SIMPLE | zhigao | range | start_time | start_time | 8 | NULL | 1061762 | Using where; Using index |
+----+-------------+--------+-------+---------------+------------+---------+------+---------+--------------------------+
1 row in set (0.00 sec)
mysql>
EXPLAINÁеĽâÊÍ£º
table£ºÏÔʾÕâÒ»ÐеÄÊý¾ÝÊǹØÓÚÄÄÕűíµÄ
type£ºÕâÊÇÖØÒªµÄÁУ¬ÏÔʾÁ¬½ÓʹÓÃÁ˺ÎÖÖÀàÐÍ¡£´Ó×îºÃµ½×î²îµÄÁ¬½ÓÀàÐÍΪconst¡¢eq_reg¡¢ref¡¢range¡¢indexheºÍALL
possible_keys£ºÏÔʾ¿ÉÄÜÓ¦ÓÃÔÚÕâÕűíÖеÄË÷Òý¡£Èç¹ûΪ¿Õ£¬Ã»ÓпÉÄܵÄË÷Òý¡£¿ÉÒÔΪÏà¹ØµÄÓò´ÓWHEREÓï¾äÖÐÑ¡ÔñÒ»¸öºÏÊʵÄÓï¾ä
key£ºÊµ¼ÊʹÓõÄË÷Òý¡£Èç¹ûΪNULL£¬ÔòûÓÐʹÓÃË÷Òý¡£ºÜÉÙµÄÇé¿öÏ£¬MYSQL»áÑ¡ÔñÓÅ»¯²»×ãµÄË÷Òý¡£ÕâÖÖÇé¿öÏ£¬¿ÉÒÔÔÚSELECTÓï¾ä
ÖÐʹÓÃUSE INDEX£¨indexname£©À´Ç¿ÖÆÊ¹ÓÃÒ»¸öË÷Òý»òÕßÓÃIGNORE INDEX£¨indexname£©À´Ç¿ÖÆMYSQLºöÂÔË÷Òý
key_len£ºÊ¹ÓõÄË÷ÒýµÄ³¤¶È¡£ÔÚ²»Ëðʧ¾«È·ÐÔµÄÇé¿öÏ£¬³¤¶ÈÔ½¶ÌÔ½ºÃ
ref£ºÏÔʾË÷ÒýµÄÄÄÒ»Áб»Ê¹ÓÃÁË£¬Èç¹û¿ÉÄܵϰ£¬ÊÇÒ»¸ö³£Êý
rows£ºMYSQLÈÏΪ±ØÐë¼ì²éµÄÓÃÀ´·µ»ØÇëÇóÊý¾ÝµÄÐÐÊý
Extra£º¹ØÓÚMYSQLÈçºÎ½âÎö²éѯµÄ¶îÍâÐÅÏ¢¡£½«ÔÚ±í4.3ÖÐÌÖÂÛ£¬µ«ÕâÀï¿ÉÒÔ¿´µ½µÄ»µµÄÀý×ÓÊÇUsing temporaryºÍUsing filesort£¬Òâ˼MYSQL¸ù±¾²»ÄÜʹÓÃË÷Òý£¬½á¹ûÊǼìË÷»áºÜÂý
extraÁзµ»ØµÄÃèÊöµÄÒâÒå
Distinct:Ò»µ©MYSQLÕÒµ½ÁËÓëÐÐÏàÁªºÏÆ¥ÅäµÄÐУ¬¾Í²»ÔÙËÑË÷ÁË
Not exists: MYSQLÓÅ»¯ÁËLEFT JOIN£¬Ò»µ©ËüÕÒµ½ÁËÆ¥ÅäLEFT JOIN±ê×¼µÄÐУ¬¾Í²»ÔÙËÑË÷ÁË
Range checked for each Record£¨i
Ïà¹ØÎĵµ£º
MySQL showµÄÓ÷¨
a. show tables»òshow tables from database_name; // ÏÔʾµ±Ç°Êý¾Ý¿âÖÐËùÓбíµÄÃû³Æ
b. show databases; // ÏÔʾmysqlÖÐËùÓÐÊý¾Ý¿âµÄÃû³Æ
c. show columns from table_name from database_name; »òshow columns from database_name.table_name; ......
EXPLAIN ÊÇmysql½âÊÍselect²éѯµÄÒ»¸ö¹Ø¼ü×Ö,¿ÉÒԺܷ½±ãµÄÓÃÓÚµ÷ÊÔ
Óï·¨¸ñʽÈçÏÂ
EXPLAIN tbl_name
»òÕß:
EXPLAIN SELECT select_options
EXPLAIN Óï¾ä¿ÉÒÔ±»µ±×÷ DESCRIBE µÄͬÒå´ÊÀ´Óã¬Ò²¿ÉÒÔÓÃÀ´»ñȡһ¸öMySQLÒªÖ´ÐÐµÄ SELECT Óï¾äµÄÏà¹ØÐÅÏ¢¡£
EXPLAIN tbl_name Óï·¨ºÍ DESCRIBE tbl_name »ò SHOW COLUMNS ......
Èç¹ûÒªÁ˽âMySQLÊý¾Ý¿âËø¶¨»úÖÆ£¬Ê×ÏÈÁ˽âÒ»ÏÂMySQLµÄÈýÖÖËø¶¨ÀàÐÍ£º
Ò»£¬Ðм¶Ëø¶¨
¶þ£¬±í¼¶Ëø¶¨
Èý£¬Ò³¼¶Ëø¶¨
ÕâÈýÖÖËø¶¨ÀàÐÍ£¬ÔÚMySQLÊý¾Ý¿âÖÐʹÓÃÈçÏ£º
Ðм¶Ëø¶¨£ºMyISAM£¬Memory£¬CSV[·ÇÊÂÎñÐԵĴ洢ÒýÇæ]
±í¼¶Ëø¶¨£ºInnoDB£¬NDB Chuster
Ò³¼¶Ëø¶¨£ºBerkeley DB
Á½ÖÖËø¶¨»úÖÆ£º¶ÁËø¶¨ºÍÐ´Ëø¶¨
MySQLÊý¾Ý¿âËø¶ ......
ÎҵijÌÐòÊÇÓÃADOÀ´Á¬½ÓMysqÊý¾Ý¿âµÄ£¬ÕâÊÇÔÏÈдºÃÓÃÔÚMSSQLÉϵ쬏ÄÁËÏÂÁ¬½Ó×Ö·û´®£¬ËùÒÔÒ²¾ÍûÓÐÓÃMySql C++ APIÀ´ÖØÐÂдÁË¡£¸Õ¿ªÊ¼Ê¹ÓÃMySql£¬Óöµ½µÄÎÊÌâ×ÜÊÇÌØ±ðµÄ¶à£¬ÏÖÔÚÓÖÓöµ½Ò»¸öÖ÷Òªsql×Ö·û´®ÖÐÓÐÖÐÎľͱ¨´íµÄÎÊÌ⣬ûÓÐÖÐÎÄÒ»ÇÐÕý³££¬ÕûÕûŪÁËÒ»¸öÉÏÎ磬ÔÚÍøÉÏÒ²ÕÒÁ˺ܶà×ÊÁÏ£¬·¢ ......
µ±ÓÃshow processlist;¿´µ½ÈçÏÂÐÅϢʱ:
LL | login | NULL |
| 697 | unauthenticated user | 218.26.219.186:26944 | NULL | Connect | NULL | login | NULL & ......