Davids实操笔记:docker安装使用小米SQL分析工具Soar

docker安装使用小米SQL分析工具Soar

在这里插入图片描述

关注可以查看更多粉丝专享blog~

背景

做后端开发难免和数据库打交道,有时候回碰到很多特别复杂同时令人特别费解的SQL语句,让人无从下手。常规套路是取出完整SQL,理解其用意之后方能进行重构。使用EXPLAIN进行分析,调整SQL结构,去除多余的字段、关联表和导致索引失效的函数等等。

和之前介绍的Arthas一样,很早之前听说了Soar,但是一直没有接触,当需要处理的复杂SQL越来越多的时候,被迫借助工具来提升效率了。

介绍

官网简介

SOAR(SQL Optimizer And Rewriter) 是一个对 SQL 进行优化和改写的自动化工具。 由小米人工智能与云平台的数据库团队开发与维护。

功能特点
  • 跨平台支持(支持 Linux, Mac 环境,Windows 环境理论上也支持,不过未全面测试)
  • 目前只支持 MySQL 语法族协议的SQL优化
  • 支持基于启发式算法的语句优化
  • 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)
  • 支持 EXPLAIN 信息丰富解读
  • 支持 SQL 指纹、压缩和美化
  • 支持同一张表多条 ALTER 请求合并
  • 支持自定义规则的 SQL 改写
线路图
  • 语法支持方面,目前主要依赖vitess,TiDB对SQL语法的支持。
  • 目前仅针对MySQL语法族进行开发和测试,其他使用SQL的数据库产品暂不支持。
  • Profiling和Trace功能有待深入挖掘,供经验丰富的DBA分析使用。
  • 目前尚不支持直接线上自动执行评审通过的SQL,后续会努力支持。
  • 由于暂不支持线上自动执行,因此数据备份功能也未提供。
  • Vim, Sublime, Emacs等编辑器插件支持。
  • Currently, only support Chinese suggestion, if you can help us add multi-language support, it will be greatly appreciated.

开始安装

使用docker安装Soar非常简单,具体操作如下:

// 拉取镜像
$ docker pull becivells/soar-web
Using default tag: latest
latest: Pulling from becivells/soar-web
4fe2ade4980c: Pull complete 
7cf6a1d62200: Pull complete 
bd5bf1aa7305: Pull complete 
73e1cfb346e5: Pull complete 
1e70e0bfa6e9: Pull complete 
f3b36e3a5ffc: Pull complete 
5c9bf8c43a3d: Pull complete 
212188cddaef: Pull complete 
Digest: sha256:a0c039bc12717e7f105de3fb21ceb4c076cc854aa57d36029602a03f4c3aee3e
Status: Downloaded newer image for becivells/soar-web:latest
docker.io/becivells/soar-web:latest

// 运行容器
$ docker run -d --name soar-web -p 5077:5077 becivells/soar-web
731af630d6f8d7fdb50f87901c244bb91ec7e487225486d32f345bcac41b7396

// 查看容器
$ docker ps
CONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
731af630d6f8        becivells/soar-web   "python /home/soar-w…"   35 minutes ago      Up 35 minutes       0.0.0.0:5077->5077/tcp   soar-web

使用Soar

访问SOAR-WEB

安装完成之后浏览器访问localhost:5077就可以进入soar-web界面了。
soar-web

SOAR配置

按提示添加配置之后即可连接数据库,在SQL分析页面对我们的SQL进行分析和建议了。
在这里插入图片描述

SQL分析

输入SQL语句,点击SQL评估,右侧会出现对于的评估情况,供我们进行参考。
在这里插入图片描述

总结

因为我也是刚刚使用,没有资格评价它的好坏,但是我认为soar从单纯的程序分析SQL的角度给我提供一些建议和提醒,是有一定的参考价值的,可能最后我不一定会用到这些建议,但是工具的价值就在于我们如何使用。后面深度使用之后再跟大家分享心得体会。
一起加电!
共勉~

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值