MySQL語句優(yōu)化輔助工具DBA怎么用

MySQL語句優(yōu)化輔助工具DBA怎么用,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

專注于為中小企業(yè)提供網(wǎng)站制作、成都做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)泗陽免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了上千多家企業(yè)的穩(wěn)健成長(zhǎng),幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。

 概述

優(yōu)化SQL,是DBA常見的工作之一。如何高效、快速地優(yōu)化一條語句,是每個(gè)DBA經(jīng)常要面對(duì)的一個(gè)問題。對(duì)于一名DBA來說,掌握一門語言配合自己的工作是非常必要的。相對(duì)于shell的簡(jiǎn)單、perl的飄逸,Python是一種嚴(yán)謹(jǐn)?shù)母呒?jí)語言。其具備上手快、語法簡(jiǎn)單、擴(kuò)展豐富、跨平臺(tái)等多種優(yōu)點(diǎn)。很多人把它稱為一種“膠水”語言,通過大量豐富的類庫、模塊,可以快速搭建出自己需要的工具。

今天主要分享一下自己寫的一個(gè)“MySQL語句優(yōu)化輔助工具”,通過這個(gè)小工具,可以自動(dòng)調(diào)用命令將上面這些內(nèi)容一次性推給DBA,大大加速優(yōu)化的過程。

下面介紹下這個(gè)小工具。

環(huán)境

模塊 - MySQLDB

模塊 - sqlparse

Python版本 = 2.7.3

1、腳本內(nèi)容

因?yàn)槟_本內(nèi)容比較多,所以就截部分了。

MySQL語句優(yōu)化輔助工具DBA怎么用
MySQL語句優(yōu)化輔助工具DBA怎么用

2、調(diào)用方法

python mysql_tuning.py -p tuning_sql.ini -s '你的sql'

參數(shù)說明:

-p 指定配置文件名稱

-s 指定SQL語句

3、配置文件

這里分別是[database]描述數(shù)據(jù)庫連接信息,[option]運(yùn)行配置信息。

MySQL語句優(yōu)化輔助工具DBA怎么用

4、輸出說明

1) 標(biāo)題部分

包含運(yùn)行數(shù)據(jù)庫的地址信息及數(shù)據(jù)版本信息。

MySQL語句優(yōu)化輔助工具DBA怎么用

2) 原始SQL

用戶執(zhí)行輸入的SQL,這部分主要是為了后續(xù)對(duì)比SQL改寫時(shí)使用。語句顯示時(shí)使用了格式化。

MySQL語句優(yōu)化輔助工具DBA怎么用

3) 系統(tǒng)級(jí)參數(shù)

腳本選擇顯示了部分與SQL性能相關(guān)的參數(shù)。這部分是寫死在代碼中的,如需擴(kuò)展需要修改腳本。

MySQL語句優(yōu)化輔助工具DBA怎么用

4) 優(yōu)化器開關(guān)

下面是和優(yōu)化器相關(guān)的一些參數(shù),通過調(diào)整這些參數(shù)可以人為干預(yù)優(yōu)化器行為。

MySQL語句優(yōu)化輔助工具DBA怎么用

5) 執(zhí)行計(jì)劃

就是調(diào)用explain extended的輸出結(jié)果。如果結(jié)果過長(zhǎng),可能出現(xiàn)顯示串行的問題(暫時(shí)未解決)。

MySQL語句優(yōu)化輔助工具DBA怎么用

6) 優(yōu)化器改寫后的SQL

通過這里可判斷優(yōu)化器是否對(duì)SQL進(jìn)行了某種優(yōu)化(例如子查詢的處理)。

MySQL語句優(yōu)化輔助工具DBA怎么用

7) 統(tǒng)計(jì)信息

在SQL語句中所有涉及到的表及其索引的統(tǒng)計(jì)信息都會(huì)在這里顯示出來。

MySQL語句優(yōu)化輔助工具DBA怎么用

8) 運(yùn)行狀態(tài)信息

在會(huì)話級(jí)別對(duì)比了執(zhí)行前后的狀態(tài)(SHOW  STATUS),并將出現(xiàn)變化的部分顯示出來。需要注意的是,因?yàn)槭占癄顟B(tài)數(shù)據(jù)是采用SELECT方式,會(huì)造成個(gè)別指標(biāo)的誤差(例如Com_select)。

MySQL語句優(yōu)化輔助工具DBA怎么用

9) PROFILE詳細(xì)信息

調(diào)用SHOW PROFILE得到的詳細(xì)信息。

MySQL語句優(yōu)化輔助工具DBA怎么用

10) PROFILE匯總信息

根據(jù)PROFILE的資源消耗情況,顯示不同階段消耗對(duì)比情況(TOP N),直觀顯示"瓶頸"所在。

MySQL語句優(yōu)化輔助工具DBA怎么用

看完上述內(nèi)容,你們掌握MySQL語句優(yōu)化輔助工具DBA怎么用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)頁題目:MySQL語句優(yōu)化輔助工具DBA怎么用
文章網(wǎng)址:http://www.muchs.cn/article16/geecgg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名、手機(jī)網(wǎng)站建設(shè)網(wǎng)站策劃、網(wǎng)頁設(shè)計(jì)公司商城網(wǎng)站、定制開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司