1. 程式人生 > >小米開源工具SOAR之SQL效能資訊解讀與優化建議

小米開源工具SOAR之SQL效能資訊解讀與優化建議

大家都知道資料庫中的explain執行計劃工具,能幫我們分析自己所編寫SQL的效能,如索引是否使用了、臨時表是否使用了、檔案排序是否使用了、掃描的行數以及各個查詢的執行順序等一些SQL執行反饋資訊,但這個explain出來的圖表不夠通俗易懂,也只有日積月累的童鞋,才能更好的使用這個工具**。而此時小米開源的soar工具能幫我將explain裡面的資訊解讀出來,提示我們寫出更加優質的sql程式碼。**

如下圖資訊(soar輸出的資訊用markdown文件開啟):

在這裡插入圖片描述

簡單的安裝及使用方式

1、windows環境下載soar.windows-amd64檔案

​ soar是命令列工具,不是圖形化桌面工具,需要在cmd.exe下以命令的方式執行。(注意:下載的檔案不是雙擊執行的,是命令,如 java -version的java命令符)

​ 1)把soar.windwos-amd64檔案放在d盤

​ 2)在d盤新建一個空的sql檔案,裡面存放你想解析的sql程式碼,如query.sql

​ 3) 開啟cmd.exe -> type d:\query.sql | d:\soar.windows-amd64 -test-dsn=“資料庫使用者名稱:密碼@127.0.0.1:3306/my_database”

把輸出的分析資訊拷貝到markdown工具下(即可以視覺化)**

在這裡插入圖片描述
4) (方便以後工作)製作簡單雙擊執行工具:在d盤建立bat檔案,把指令存放到bat中,方便以後雙擊執行,如下程式碼

type query.sql | soar.windows-amd64 -test-dsn="root:
[email protected]
:3306/my_database" >file.txt 2>&1

在這裡插入圖片描述

2、Linux環境下載二進位制安裝包

下載:wget https://github.com/XiaoMi/soar/releases/download/v0.8.1/soar.linux-amd64 -O soar

授權:chmod a+x soar 

​ 1)下載的soar檔案就是命令,不用執行

​ 2)在soar檔案當前目錄下執行

echo “select * from tb_area” | ./soar -test-dsn="資料庫使用者名稱:資料庫密碼@127.0.0.1:3306/my_base"

​ 3) 輸出的資訊拷貝到markdown工具下即可直觀查閱提示資訊 或者把結果輸出到檔案中

4)(方便以後工作)製作shell指令碼工具
在這裡插入圖片描述

  • soar.sh 程式碼如下

    content=$(cat query.sql)
    echo $content | ./soar.linux-amd64 -test-dsn="root:[email protected]:3306/intellif_base" > file.txt
    

3、支援開源(參與開發與改善,或者製作視覺化WEB操作介面)

​ github地址:https://github.com/XiaoMi/soar/blob/master/README.md

​ 其他功能:列印所有的啟發式規則、忽略某些規則、語句重寫等

下載地址:https://download.csdn.net/download/oraclejet/10759941