1. 程式人生 > >MySQL性能分析及explain的使用

MySQL性能分析及explain的使用

索引 pri ... ons data 接下來 rom possible 聯合

MySQL性能分析及explain用法的知識是本文我們主要要介紹的內容,接下來就讓我們通過一些實際的例子來介紹這一過程,希望能夠對您有所幫助。

1.使用explain語句去查看分析結果

如explain select * from test1 where id=1;會出現:id selecttype table type possible_keys key key_len ref rows extra各列。

其中,

type=const表示通過索引一次就找到了;

key=primary的話,表示使用了主鍵;

type=all,表示為全表掃描;

key=null表示沒用到索引。

type=ref,因為這時認為是多個匹配行,在聯合查詢中,一般為REF。

2.MYSQL中的組合索引

假設表有id,key1,key2,key3,把三者形成一個組合索引,則

如:

where key1=....  
   where key1=1 and key2=2  
   where key1=3 and key3=3 and key2=2 

根據最左原則,這些都是可以使用索引的,如from test where key1=1 order by key3,用explain分析的話,只用到了normal_key索引,但只對where子句起作用,而後面的order by需要排序。

http://database.51cto.com/art/201108/284783.htm

MySQL性能分析及explain的使用