隨著業務的增長,數據量也越來越大,緊隨著就是每個開發人員所要面臨的問題:MySQL的慢查詢。
為了更好的、更快的分析優化線上的MySQL慢查詢,我們使用mysql自帶的mysqldumpslow工具,對慢查詢日志進行分析提取,以下提取的是慢查詢量最多的30條記錄
即:
mysqldumpslow -s c -t 30 /var/lib/mysql/mysqlslow.log > /opt/slowlog/report_slow.log # 慢查詢的日志文件根據系統配置路徑填寫,此處將結果重定向至 /opt/slowlog/
操作系統:Centos7.3 x64
MySQL數據庫:MySQL 5.6.49 企業版
開發環境:Python2.7 、shell # 由於現場環境因素,只能2.7
首先我們看下mysqldumpslow工具生成的分析報告,此處舉例3條
Count: 19847 Time=14.23s (282373s) Lock=0.00s (3s) Rows=0.0 (0), root[root]@[192.168.0.101]
SELECT * FROM T_huwj WHERE name = 'S' AND ( userID IS NOT NULL AND userID != 'S') ORDER BY id ASC LIMIT N,N
Count: 19846 Time=14.91s (295928s) Lock=0.00s (3s) Rows=0.3 (5646), root[root]&