定位優(yōu)化對象的性能瓶頸
作者:佚名 時間:2014-11-18 分享到:
當我們拿到一條段要優(yōu)化的query時,第一件事情是什么?是反問自己這條query有什么問題?我為什么要優(yōu)化他,只有明白了這些問題,才能知道須要做什么,才能夠找到問題的關(guān)鍵.
不能只是覺得某個query好像有點慢,須要優(yōu)化一下,然后就開始一個一個優(yōu)化方法去輪番嘗試.這樣很可能會消耗大量的人力和時間成本,甚至可能到最后清寒是得不到一個好的優(yōu)化福建省,這就像看病一樣,醫(yī)生必須要清楚病的根源才能對癥下藥,如果只是知道什么地方不舒服,然后就開始通過各種藥物嘗試治療,那后果可能就非常嚴重了.
所以,在拿到一條須要優(yōu)化的query之后,首先要判斷出這個query的瓶頸到底是io還是cpu,到底是因為在數(shù)據(jù)訪問上消耗了太多的時間,還是在數(shù)據(jù)的去處方面花費了太多資源.
一般來說,在mysql5.0系列版中,可以通過系統(tǒng)自帶的profiling功能清楚地找出一個query的瓶頸.當然,如果讀者朋友為了使用mysql的某些5.1版本中才有的新特性.抑或是早早使用mysql5.1的預發(fā)布版本,可能就沒辦法使用這個功能了,因為這個功能是mysql5.1系統(tǒng)最補版本中并不支持,不過現(xiàn)在興奮的是這個功能在最新的5.1后面的版本又已經(jīng)提供了.