分析SQL给出索引优化建议的工具(美团开源)

来源:这里教程网 时间:2026-03-01 16:35:51 作者:
分析SQL给出索引优化建议的工具(美团开源)
SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。 目前SQLAdvisor在美团点评内部广泛应用,公司内部对SQLAdvisor的开发全面转到github上,开源和内部使用保持一致
主要功能:输出SQL索引优化建议
安装测试的详细过程
开源介绍
下载地址
1. SQLAdvisor安装
以redhat6系统为例
1.1 拉取最新代码
前提是联网,已安装git工具(yum install git)
git clone
1.2 安装依赖项
 1.2.1. yum   install cmake libaio-devel libffi-devel glib2 glib2-devel
 1.2.2. 配置percona56 yum源:
        yum install
        yum   install --enablerepo=Percona56 Percona-Server-shared-56
 ##Percona56 是yum中配置的名字
 1.2.3.配置软链接
1. cd /usr/lib64/
2. ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so
注意
1.跟据glib安装的路径,修改SQLAdvisor/sqladvisor/CMakeLists.txt中的两处include_directories针对glib设置的path。glib yum 安装默认不需要修改路径
2.编译sqladvisor时依赖perconaserverclient_r, 因此需要安装Percona-Server-shared-56。
1.3 编译依赖项sqlparser
1. cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
2. make && make install
注意
DCMAKE_INSTALL_PREFIX为sqlparser库文件和头文件的安装目录,其中lib目录包含库文件libsqlparser.so,include目录包含所需的所有头文件。
DCMAKE_INSTALL_PREFIX值尽量不要修改,后面安装依赖这个目录。
1.4 安装SQLAdvisor源码
1. cd SQLAdvisor/sqladvisor/
2. cmake -DCMAKE_BUILD_TYPE=debug ./
3. make
4. 在本路径下生成一个sqladvisor可执行文件,这即是我们想要的。
2. SQLAdvisor使用
2.1 --help输出
./sqladvisor --help
Usage:
  sqladvisor [OPTION...] sqladvisor
SQL Advisor Summary
Help Options:
  -?, --help              Show help options
Application Options:
  -f, --defaults-file     sqls file
  -u, --username          username
  -p, --password          password
  -P, --port              port
  -h, --host              host
  -d, --dbname            database name
  -q, --sqls              sqls
  -v, --verbose           1:output logs 0:output nothing
2.2 命令行传参调用
./sqladvisor -h xx  -P xx  -u xx -p 'xx' -d xx -q "sql" -v 1
注意:命令行传参时,参数名与值需要用空格隔开
2.3 配置文件传参调用
把连接信息写到sql.cnf中,就不用每次都输入用户名密码之类的,也可以把要优化的sql也写入
$> cat sql.cnf
[sqladvisor]
username=xx
password=xx
host=xx
port=xx
dbname=xx
sqls=sql1;sql2;sql3....
cmd: ./sqladvisor -f sql.cnf  -v 1
个人测试图例
配置文件
过程 个人整理,因水平有限,发现错误可以评论批评指正,一定虚心修改!

相关推荐