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

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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/28939273/viewspace-2646053/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值