mysql 慢sql自動化優化系統

背景:
數據庫的工做中,最多見就是慢sql優化了,可是DBA怎麼才能從這種繁雜的工做中抽出身來,比前就是本身去數據庫裏查,或者其餘的途徑發現一個慢sql,而後就丟給開發,DBA就像一個後媽同樣在跟在屁股後面去催開發優化,這個方式不但工做效率低下,也影響消耗DBA的時間,DBA應該從這些平常繁雜的事情中抽身出來去對接業務,研究新技術,架構等,更多時間去作一些更加有價值的事情
解決方案:
目前公司的主要業務都在放在阿里雲的RDS上,阿里雲提供接口去訪問慢sql日誌
一,原數據準備
1,寫一個小程序定時去抽取全部實例的慢sql存放在表中
2,把全部的sql打上標籤,方便後面的分析
3,輸出慢sql的執行計劃並存儲在表中
二,數據分析和慢sql處理流程
1,經過這些原數據,從sql執行時間,次數,掃描的行數,排序,索引的使用狀況等多個維度來分析sql,並輸出分析結果
2,把通過處理的慢sql和tapd項目管理系統打通,把每一個sql自動分配到相關的開發責任人
3,輸出優化結果報表,每一個項目每週的慢sql優化狀況
三總結:
1,經過這種方式能夠減小DBA的工做量
2,經過平臺來管理和跟蹤慢sql的優化,會讓整個工做流更加清晰和高效
3,經過報表讓整個優化工做更加清晰,調動開發積極性,讓得優化工做能夠量化前端

四,代碼和結果截圖:
1,併發拉取慢sql:mysql

mysql 慢sql自動化優化系統

2,結果生成Html
mysql 慢sql自動化優化系統sql

3,生成報表:
mysql 慢sql自動化優化系統數據庫

結果展現:
1,慢sql日誌:
mysql 慢sql自動化優化系統
mysql 慢sql自動化優化系統小程序

2,tapd工單:
mysql 慢sql自動化優化系統
3,報表:
mysql 慢sql自動化優化系統架構

嘮叨:
1,由於代碼也比較多,因此只是隨便貼了一點代碼
2,只是展現其中一些輸出結果
3,目前尚未作成平臺,由於俺的前端開發還不大會,哈哈!目前先作成這樣子,可是這樣也能有效提升工做效率了
4,在這裏只拋磚引玉,和你們分享一下本身的一些思路,歡迎你們留言,期待大牛的方案和指導,謝謝併發

相關文章
相關標籤/搜索