ITPub博客

首页 > 数据库 > MySQL > 小米 SOAR 开源SQL优化工具安装

小米 SOAR 开源SQL优化工具安装

原创 MySQL 作者:haoge0205 时间:2019-05-29 15:06:48 0 删除 编辑

github :https://github.com/xiaomi/soar


安装说明 :https://github.com/XiaoMi/soar/blob/master/doc/install.md


源码下载 :https://GOlang.google.cn/dl/


配置环境变量:

tar -C /usr/local -xvf go1.12.5.linux-amd64.tar


全局用户变量:

vi /etc/profile


末尾添加:

export PATH=$PATH:/usr/local/go/bin


go版本查看:


# go version


source更新环境变量:


source /etc/profile


还需要配置GOPATH环境变量:表示go的工作目录 USER_NAME 为用户名

export GOPATH="/home/USER_NAME/go"


[root@b28-17-55 XiaoMi]# pwd

/home/USER_NAME/go/src/github.com/XiaoMi


[root@b28-17-55 opt]# mv soar-master.zip /home/USER_NAME/go/src/github.com/XiaoMi


[root@b28-17-55 XiaoMi]# unzip soar-master.zip


[root@b28-17-55 XiaoMi]# mv soar-master soar


[root@b28-17-55 soar]# make


若安装顺利,最终会显示success。否则 build error


常用命令 :https://github.com/XiaoMi/soar/blob/master/doc/cheatsheet.md



[root@b28-17-55 bin]# echo 'select * from film' | ./soar

# Query: 687D590364E29465


★ ★ ★ ☆ ☆ 75分


```sql


SELECT  

  * 

FROM  

  film

```


## 最外层 SELECT 未指定 WHERE 条件


* **Item:**  CLA.001


* **Severity:**  L4


* **Content:**  SELECT 语句没有 WHERE 子句,可能检查比预期更多的行(全表扫描)。对于 SELECT COUNT(\*) 类型的请求如果不要求精度,建议使用 SHOW TABLE STATUS 或 EXPLAIN 替代。


## 不建议使用 SELECT * 类型查询


* **Item:**  COL.001


* **Severity:**  L1


* **Content:**  当表结构变更时,使用 \* 通配符选择所有列将导致查询的含义和行为会发生更改,可能导致查询返回更多的数据。


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28939273/viewspace-2646053/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2013-11-28

  • 博文量
    241
  • 访问量
    1654871