您好,登錄后才能下訂單哦!
MySQL語句優化輔助工具DBA怎么用,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
優化SQL,是DBA常見的工作之一。如何高效、快速地優化一條語句,是每個DBA經常要面對的一個問題。對于一名DBA來說,掌握一門語言配合自己的工作是非常必要的。相對于shell的簡單、perl的飄逸,Python是一種嚴謹的高級語言。其具備上手快、語法簡單、擴展豐富、跨平臺等多種優點。很多人把它稱為一種“膠水”語言,通過大量豐富的類庫、模塊,可以快速搭建出自己需要的工具。
今天主要分享一下自己寫的一個“MySQL語句優化輔助工具”,通過這個小工具,可以自動調用命令將上面這些內容一次性推給DBA,大大加速優化的過程。
下面介紹下這個小工具。
模塊 - MySQLDB
模塊 - sqlparse
Python版本 = 2.7.3
因為腳本內容比較多,所以就截部分了。
python mysql_tuning.py -p tuning_sql.ini -s '你的sql'
參數說明:
-p 指定配置文件名稱
-s 指定SQL語句
這里分別是[database]描述數據庫連接信息,[option]運行配置信息。
1) 標題部分
包含運行數據庫的地址信息及數據版本信息。
2) 原始SQL
用戶執行輸入的SQL,這部分主要是為了后續對比SQL改寫時使用。語句顯示時使用了格式化。
3) 系統級參數
腳本選擇顯示了部分與SQL性能相關的參數。這部分是寫死在代碼中的,如需擴展需要修改腳本。
4) 優化器開關
下面是和優化器相關的一些參數,通過調整這些參數可以人為干預優化器行為。
5) 執行計劃
就是調用explain extended的輸出結果。如果結果過長,可能出現顯示串行的問題(暫時未解決)。
6) 優化器改寫后的SQL
通過這里可判斷優化器是否對SQL進行了某種優化(例如子查詢的處理)。
7) 統計信息
在SQL語句中所有涉及到的表及其索引的統計信息都會在這里顯示出來。
8) 運行狀態信息
在會話級別對比了執行前后的狀態(SHOW STATUS),并將出現變化的部分顯示出來。需要注意的是,因為收集狀態數據是采用SELECT方式,會造成個別指標的誤差(例如Com_select)。
9) PROFILE詳細信息
調用SHOW PROFILE得到的詳細信息。
10) PROFILE匯總信息
根據PROFILE的資源消耗情況,顯示不同階段消耗對比情況(TOP N),直觀顯示"瓶頸"所在。
看完上述內容,你們掌握MySQL語句優化輔助工具DBA怎么用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。