简介
SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议
主要功能:输出SQL索引优化建议
SQLAdvisor安装
安装依赖项
1
2
3
4
51. 配置percona56 yum源:
yum install http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
2. yum | apt-get install cmake libaio-devel libffi-devel glib2 glib2-devel
3. yum | apt-get install --enablerepo=Percona56 Percona-Server-shared-56拉取最新代码
1
git clone https://github.com/Meituan-Dianping/SQLAdvisor.git
编译依赖项sqlparser
1
2
3
4
5
6
71. cmake -DBUILD_CONFIG=mysql_release -DCMAKE_BUILD_TYPE=debug -DCMAKE_INSTALL_PREFIX=/usr/local/sqlparser ./
2. make && make install
编译sqladvisor时依赖perconaserverclient_r, 因此需要安装Percona-Server-shared-56
有可能需要配置软链接例如:
1. cd /usr/lib64/
2. ln -s libperconaserverclient_r.so.18 libperconaserverclient_r.so安装SQLAdvisor源码
1
2
3
41. cd SQLAdvisor/sqladvisor/
2. cmake -DCMAKE_BUILD_TYPE=debug ./
3. make
4. 在本路径下生成一个sqladvisor可执行文件,这即是我们想要的。
SQLAdvisor使用
–help输出
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18[root@localhost sqladvisor]# ./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命令行传参调用
1
2
3./sqladvisor -h xx -P xx -u xx -p 'xx' -d xx -q "sql" -v 1
注意:命令行传参时,参数名与值需要用空格隔开配置文件传参调用
1
2
3
4
5
6
7
8
9
10$> 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
常见错误FAQ
1 | 我已经安装了libaio-devel库: |
ref
QUICK_START
THEORY_PRACTICES
您的鼓励是我写作最大的动力
俗话说,投资效率是最好的投资。 如果您感觉我的文章质量不错,读后收获很大,预计能为您提高 10% 的工作效率,不妨小额捐助我一下,让我有动力继续写出更多好文章。