MySQL慢查詢分析mysqldumpslow


一直以來積累了不少對MySQL優化的心得和經驗,計劃經過寫日誌的方式一步一步寫出來分享給你們。html

MySQL優化的第一步應該作的就是排查問題,找出瓶頸,而一般狀況下的瓶頸和問題都須要經過觀察MySQL的運行狀況來進行分析,《查看MySQL運行情況》這篇文章羅列了一些經常使用的查看MySQL運行信息的方式。mysql

而對於大多數的程序員來講,最容易發現並解決的問題就是MySQL的慢查詢或者沒有利用索引的查詢,因此這裏主要給你們介紹如何利用官方的mysqldumpslow工具方便的查看這些信息。如何打開MySQL的慢查詢,請點擊《打開MySQL的慢查詢記錄》。程序員

mysqldumpslow命令
/path/mysqldumpslow -s c -t 10 /database/mysql/slow-logsql

這會輸出記錄次數最多的10條SQL語句,其中:工具

  • -s, 是表示按照何種方式排序,c、t、l、r分別是按照記錄次數、時間、查詢時間、返回的記錄數來排序;優化

  • at、al、ar:                  spa

  •               al: average lock time日誌

  •                 ar: average rows sentorm

  •                 at: average query timehtm

  • -t, 是top n的意思,即爲返回前面多少條的數據;

  • -g, 後邊能夠寫一個正則匹配模式,大小寫不敏感的;

好比
/path/mysqldumpslow -s r -t 10 /database/mysql/slow-log
獲得返回記錄集最多的10個查詢。
/path/mysqldumpslow -s t -t 10 -g 「left join」 /database/mysql/slow-log
獲得按照時間排序的前10條裏面含有左鏈接的查詢語句。

小結

使用mysqldumpslow命令能夠很是明確的獲得各類咱們須要的查詢語句,對MySQL查詢語句的監控、分析、優化是MySQL優化的第一步,也是很是重要的一步。 

相關文章
相關標籤/搜索