小米开源工具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

猜你喜欢

转载自blog.csdn.net/oraclejet/article/details/83652791