SOAR SQL进行优化和改写的自动化工具
前言
SQL优化是程序开发中经常遇到的问题,尤其是在程序规模不断扩大的时候。SQL的好坏不仅制约着程序的规模,影响着用户的体验,甚至威胁着信息的安全。
我们经常听到说哪家平台挂了,哪家网站被黑了,但我们不知道,其实这些平台挂了、被黑了的原因很多时候在于SQL不够健壮。SQL不够健壮易造成数据查询超时、SQL注入、信息泄漏等问题。
SQL优化归根到底是SQL语句的优化,索引的优化。由于很多数据库自带的分析工具不够强大便捷,很多时候要想写出好一点的SQL语句完全凭经验。这也是为什么有人说看一个程序员资历深不深就看他写的SQL好不好的原因。
凭经验做事不总是那么可靠的,况且也并不是人人都有那么多的经验。那如果不靠经验,那新手怎么办?答,使用SOAR!
什么是SOAR
SOAR是SQL Optimizer And Rewriter的简称。SOAR是一个对SQL进行优化和改写的自动化工具,由小米人工智能与云平台的数据库团队开发与维护。现在在GitHub上有4000多星。
功能特点
SOAR有如下功能特点:
- 跨平台支持(支持Linux,、Mac、Windows环境)
- 目前只支持 MySQL 语法族协议的SQL优化
- 支持基于启发式算法的语句优化
- 支持复杂查询的多列索引优化(UPDATE, INSERT, DELETE, SELECT)
- 支持EXPLAIN信息丰富解读
- 支持SQL指纹、压缩和美化
- 支持同一张表多条ALTER请求合并
- 支持自定义规则的SQL改写
安装使用
SOAR支持Linux、Mac、Window环境,可以在Linux、Mac、Window上安装使用。下面以Window版本为例介绍安装使用过程。
1、安装Go
SOAR的使用依赖Go语言,所以在安装使用之前,先安装Go。
下载完成后进行Go安装,本文安装使用默认路径,安装完成后,在cmd中输入 go version ,如果出现版本信息,则表示安装成功。如果报错,将将C:Go/in(你的安装路径)加入环境变量。
2、安装SOAR
选择windows版本下载SOAR安装文件
打开上面网址,下载以下安装文件
将安装文件soar.windows-amd64重命名为soar.exe,放置D盘soar文件夹下,你也可以将这个目录加入到环境变量中。
打开cmd,进入到soar.exe所在目录,然后输入 soar -version命令,如果出行版本信息,则为安装成功。
3.安装python3方法如下:
3.1.进入Python官方网站下载安装包
点击导航栏的 Downloads 会自动识别你的windows系统 你会看到 Python3.6.2 和 Python2.7.13 (32位系统)的安装包
注:Python3以后版本不再向Python2进行兼容,所有如果你是单纯为了学新东西建议直接下载Python3以后的版本
如果你是系统是windows64位或者你想下载其他版本的安装包—— 请点击Downloads > Windows 下载你需要的版本安装包
选择 Download Windows x86-64 executable installer 可执行的安装文件
注:64位版本不可以安装在32位的系统上,但是32位版本可以安装在64位的系统
3. 2.将Python安装到你的windows操作系统上
特别要注意勾上Add Python 3.7 to PATH
,然后点“Install Now”即可完成安装
安装成功后,打开命令提示符窗口,敲入python后出现以下情况则安装完成,如果报错命令不存在则没有安装环境变量
4、安装Web图形化工具
这一步不是必须的,如果你喜欢命令行操作,完成步骤2即可。选择安装Web图形化工具,只是为了方便操作。
安装Web图形化工具,可以在下面地址下载:
https://github.com/xiyangxixian/soar-web
注意:此Web图形化工具依赖Python3x、Flask、PyMysql、Pycryptodome。因此,安装此Web图形化工具前先安装Python3x。
下载完成后把文件解压放到D盘。
进入D盘 D:\soar\soar-web-master文件夹,执行如下命令,安装其他依赖。:
pip install -r requirement.txt
执行命令后如果报以下红色方框错误。需要运行以下命令更换镜像:
pip install virtualenv -i https://pypi.douban.com/simple
待所有依赖晚装完毕,执行如下命令,启动服务。
run.bat
效果如下:
图形管理界面: