zoukankan      html  css  js  c++  java
  • 小米 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:** 当表结构变更时,使用 * 通配符选择所有列将导致查询的含义和行为会发生更改,可能导致查询返回更多的数据。

  • 相关阅读:
    uni-app 发起请求,Toast 消息提示 ,跳转页面
    uView初识
    uni-app初识
    docker目录 /var/lib/docker/containers 日志清理
    Linux中使用pigz工具更快的压缩和解压文件
    docker 修改默认网段
    LayaAir提示:版本不匹配!全局tsc(2.7.2)!=VS Code的语言服务(2.1.5)。可能出现不一致的编译错误
    C++ 格式化 浮点为字符串
    安装 ta-lib
    编译 python 代码
  • 原文地址:https://www.cnblogs.com/hankyoon/p/11011857.html
Copyright © 2011-2022 走看看