简介

SOAR(SQL Optimizer And Rewriter)是一个对 SQL 进行优化和改写的自动化工具, 由小米人工智能与云平台的数据库团队开发与维护,该工具由 Go 语言编写。该项目开源地址见参考资料。

该工具功能特点如下(该部分内容摘自GitHub中readme文档):

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

与其他产品对比:

安装 soar

在 GitHub:soar 中,已说明 soar 的安装方法。接下来在 win10 docker 上进行安装,关于 docker 的学习和使用参加我的另一篇博客。

# 安装镜像,这一步需要关闭防火墙
docker pull becivells/soar-web# 运行
docker run -d --name Soar-web -p 5077:5077 becivells/soar-web# 查看容器是否启动
docker psCONTAINER ID        IMAGE                COMMAND                  CREATED             STATUS              PORTS                    NAMES
680565cce59c        becivells/soar-web   "python /home/soar-we"   11 seconds ago      Up 10 seconds       0.0.0.0:5077->5077/tcp   Soar-web

在浏览器中输入:localhost:5077 即可看到 soar 的 web 界面,其中包括 SQL 分析以及 soar 配置两个页面。


使用 soar

在 soar 配置页面中,可以新增/编辑数据库配置,并可以测试连接。在此配置中,建议开启数据采样功能,这样的分析结果就有 explain 信息以及使用 SQL 重写功能。

在 SQL 分析页面中,可以对 SQL 给出详细的优化建议,例如:

此外,还提供一定的 SQL 改写能力,例如常用的 select * 转为字段的功能。


有关于更详细的信息,例如:

  • soar 支持的重写规则
  • soar 所有规则建议
  • soar 索引优化建议

等内容,见参考资料中:SOAR 文档手册

参考资料

[1] GitHub:soar
[2] GitHub:soar-web
[3] SOAR 文档手册

Soar:一款 Web 可视化的 SQL 优化工具相关推荐

  1. 美团点评SQL优化工具SQLAdvisor开源

    介绍 在数据库运维过程中,优化 SQL 是 DBA 团队的日常任务.例行 SQL 优化,不仅可以提升程序性能,还能够降低线上故障的概率. 目前常用的 SQL 优化方式包括但不限于:业务层优化.SQL逻 ...

  2. SQL优化工具分享-SQL Tuning Expert Pro for Oracle Trial

    做开发离不开对于数据库的接触,也离不开对SQL的接触,一个优质的SQL,可以让系统性能提升到质的飞跃,一个糟糕的SQL,可以让系统奔溃.所以对于我们开发人员来说,很需要一个SQL性能优化工具,在这种情 ...

  3. 人工智能自动sql优化工具--SQLTuning for SQL Server

    SQL语句是对数据库进行操作的惟一途径,对数据库系统的性能起着决定性的作用.对于同一条件下的SQL语句写法有很多,其中一些写法往往对性能又有很大影响.但是每个人掌握SQL语言的水平不同,如何才能保证写 ...

  4. 【MySQL】MySQL数据库SQL优化工具 SQL Tuning Expert for MySQL(收费)

    1.概述 SQL Tuning Expert for MySQL 是 Tosska 公司推出的针对MySQL的SQL优化工具. 该工具不仅让DBA或者SQL开发人员,轻松阅读和理解执行计划,而且能产生 ...

  5. 美团点评开源 SQL 优化工具 SQLAdvisor 测试报告

    0x00 目录 0x00 目录 0x01 SQLAdvisor 介绍 0x02 SQLAdvisor 原理 0x03 SQLAdvisor 测试 3.1 SQLAdvisor 安装 3.2 导入测试数 ...

  6. SQL 优化工具 Explain

    ## SQL优化工具Explain MySQL是关系型数据库中的一种,**查询功能强,数据一致性高,数据安全性高,支持二级索引**.但性能方面稍逊与非关系型数据库,特别是百万级别以上的数据,很容易出现 ...

  7. web项目接到请求之后执行sql特别慢_小米开源!SQL优化工具,人工智能帮你 Rewrite...

    本文出自头条号老王谈运维,转载请说明出处. 作为一名优秀的DBA或系统管理员,工作总是充满各种"艰辛"! 你在工作中是否遇到过这样的情况:有一个慢SQL需要优化,但是通过分析执行计 ...

  8. Centos7下安装小米SQL优化工具SOAR

    1 下载源码包 赋予权限 wget https://github.com/XiaoMi/soar/releases/download/0.9.0/soar.linux-amd64 -O soarchm ...

  9. [转]mysql的sql优化工具

    原标题:DBA的五款最佳SQL查询优化工具,收藏了 一般来说,SQL查询优化器分析给定查询的许多选项,预估每个选项的成本,最后选择成本最低的选项.如果查询优化器选择了错误的计划,则性能差异可能从几毫秒 ...

  10. mysql的sql优化工具下载_MySQL SQL查询优化工具EverSQL

    概述 一般来说,SQL查询优化器分析给定查询的许多选项,预估每个选项的成本,最后选择成本最低的选项.如果查询优化器选择了错误的计划,则性能差异可能从几毫秒到几分钟.幸运的是,现在有许多第三方SQL查询 ...

最新文章

  1. zabbix简介及基本安装(一)
  2. Android中图表AChartEngine学习使用与例子
  3. Oracle Golden Gate 系列十七 -- GG 一对多 real-time data distribution 说明 与 示例
  4. 我将 20 年前开发的操作系统迁移到 .NET 6,竟然成功了!
  5. oracle decode_ORACLE常见问题-100问(系列一)
  6. php怎么跳转别的手机浏览器,JavaScript_JS脚本根据手机浏览器类型跳转WAP手机网站(两种方式),随着移动互联网的不断普及, - phpStudy...
  7. Go入门之——GOROOT、GOPATH、GOBIN 、Project目录
  8. teamspeak3服务器搭建_教你快速便捷的搭建Teamspeak 3 服务器和基友开黑必备!
  9. dump命令linux,Linux shell dump 命令
  10. infobright与mysql_infobright与mysql常规引擎使用对比
  11. jedis访问redis学习笔记
  12. 【9.28作业】论XX信息系统建设项目的范围管理
  13. 为什么自建深度学习机器?因为比AWS便宜10倍啊!
  14. 【Android工具】更新QMD音乐下载软件,MP3音乐下载器
  15. ffmpeg视频旋转 - 在线旋转视频画面在线工具
  16. 【JS】console.log()打印出五彩斑斓的黑
  17. mybatis动态指定表名注意点
  18. 哪些字段适合建立索引
  19. johnson_trotter(生成排列算法)
  20. addClass与className的区别

热门文章

  1. 在Visual Studio 2010中创建多项目(解决方案)模板【一】
  2. 视频教程-网络工程师小白入门--【思科CCNA、华为HCNA等网络工程师认证】-网络技术
  3. 视频教程-CCNA趣味实战语音视频课程--企业VoIP组网实验-思科认证
  4. 使用VB6.0编写管家婆服装----百胜服装ERP数据转换程序和通用SQL server查询程序的心得
  5. 孙鑫老师的帮助文档 MSDN Library 2001January 下载地址
  6. Python黑客编程入门教程
  7. 计算机基础知识上机操作excer,excel上机操作题及答案
  8. 给“网吧”做管理系统
  9. SQL Server 2012 安装教程
  10. 尚硅谷RabbitMQ学习笔记(上)