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的效能,但是可以階段性開啟來定位效能瓶頸。
本文永久更新連結地址: