MySQL最佳化 - 開啟MySQL慢查詢日誌及分析工具mysqldumpslow

來源:互聯網
上載者:User

MySQL最佳化 - 開啟MySQL慢查詢日誌及分析工具mysqldumpslow

1.  啟用MySQL的慢查詢日誌很簡單,只需在MySQL的設定檔my.cnf裡添加:
[mysqld]
slow_query_log=1  - 開啟慢查詢日誌
slow_query_log_file=/data01/mysqldata/3306/slow_query.log-- 慢查詢日誌存放位置,因需要可寫,一般是資料存放目錄
long_query_time=10  單位秒, 預設為10,表示超過10秒的才記錄 

slow_launch_time=2 - 表示如果建立線程花費了比這個值更長的時間,slow_launch_threads 計數器將增加
log_queries_not_using_indexes=OFF  -- 設定為ON表示記錄沒有使用index的查詢,預設沒有開啟 

備忘: 通過 show global status like '%slow%'; 來查看 slow_launch_threads 計數器。

2.  設定時間:
mysql > set long_query_time=5 ;
 mysql > show variables like 'long%'; 

3.  慢查詢日誌分析工具mysqldumpslow 。
如果慢查詢日誌中記錄內容很多,可以使用mysqldumpslow工具(MySQL用戶端安裝內建)來對慢查詢日誌進行分類匯總。mysqldumpslow對記錄檔進行了分類匯總,顯示匯總後摘要結果。

$ mysqldumpslow -s t -t 10 -g "left join"  /data01/mysqldata/3306/slow_query.log
得到按照時間排序的前10條裡面含有左串連的查詢語句。

使用mysqldumpslow命令可以非常明確的得到各種我們需要的查詢語句,對MySQL查詢語句的監控、分析、最佳化是MySQL最佳化非常重要的一步。開啟慢查詢日誌後,由於日誌記錄操作,在一定程度上會佔用CPU資源影響mysql的效能,但是可以階段性開啟來定位效能瓶頸。

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.