七叶笔记 » golang编程 » SQL优化没思路?小米开源优化工具来帮你

SQL优化没思路?小米开源优化工具来帮你

作为一名优秀的DBA或系统管理员,工作总是充满各种“艰辛”!

你在工作中是否遇到过这样的情况:有一个慢SQL需要优化,但是通过分析执行计划又没有找到好的优化思路,或者优化之后效果不明显,没有达到自己理想的预期…不知道如何是好!

好想有个小工具可以帮助我找到慢SQL~

众里寻它千百度,它在Github海洋最深处!

今天老王就给大家推荐一个实用的工具,不仅能帮助你 rewrite SQL并且能给出一些优化的建议。

SOAR,即 SQL Optimizer And Rewriter,是一款 SQL 智能优化与改写工具,由小米运维 DBA 团队出品,SOAR 主要由语法解析器、集成环境、优化建议、重写逻辑、工具集五大模块组成,相比业内其他优秀产品有自己的优势。

功能特点

  • 跨平台支持(支持Linux, Mac环境,Windows环境理论上也支持,不过未全面测试)
  • 目前只支持 MySQL 语法族协议的SQL优化
  • 支持基于启发式算法的语句优化
  • 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)
  • 支持EXPLAIN信息丰富解读
  • 支持SQL指纹、压缩和美化
  • 支持同一张表多条ALTER请求合并
  • 支持自定义规则的SQL改写

使用示例

下面举例演示下实际的使用效果。

1、SQL分析选项卡界面输入要优化的SQL,如下图所示:

2、点击SQL评估之后,系统会对当前的SQL给出优化的建议,如下图所示:

输出说明:

  • 查询语句中用in代替or效果更好。
  • 存储IP地址建议用整数,而不是字符型,效率更高,此例中的IP地址用的是字符型。

SOAR 安装

实用的Soar安装配置起来也非常的简单!

1.1、先安装go语言环境

1、下载安装包

wget  tar .gz
 

2、解压文件

tar -C /usr/local -xzf go1.12.5.linux-amd64.tar.gz
 

3、设置变量使之生效

cd ~
vim .profile
在文件末尾添加如下内容:
export PATH=$PATH:/usr/local/go/ bin 
:wq
source .profile
 

4、确认版本

go version
 

1.2 安装soar

1、下载安装包

wget  -O /usr/local/soar
 

2、soar加入到通用路径

cd ~
vim .bash_profile
在文件中加入如下行:
....
export PATH=$PATH:/usr/local/soar/bin
....
 

1.3 安装soar web界面

1.3.1安装

1、下载安装镜像

 docker  pull becivells/soar-web
 

2、启动docker

docker run -d --name soar-web -p 5077:5077 becivells/soar-web
 

1.3.2 访问及配置

1、浏览器输入 即可进入配置界面

2、验证

1.3.3 配置说明及注意事项

配置的部分有一些需要大家注意的细节点:

Github地址:

总结

在遇到SQL没有优化思路时,可以尝试用用此工具,可能会给你不一样的思路。


网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?

加入[IT拯救联盟],让大牛和同伴拯救你,带你装x带你飞。定期干货分享、大牛专业解答、实用IT工具优选…..

私信小编“联盟”,即可加入我们~

相关文章