SQLAdvisor:MySQL SQL优化工具

SQLAdvisor是由美团点评公司技术工程部DBA团队(北京)开发维护的一个分析SQL给出索引优化建议的工具。它基于MySQL原生态词法解析,结合分析SQL中的where条件、聚合条件、多表Join关系 给出索引优化建议。目前SQLAdvisor在美团点评内部广泛应用,公司内部对SQLAdvisor的开发全面转到github上,开源和内部使用保持一致。

SQLAdvisor项目地址 https://github.com/Meituan-Dianping/SQLAdvisor

一、安装

1、安装依赖项目

SQLAdvisor需要Percona-Server-shared-56安装包

编译sqladvisor时依赖perconaserverclient_r,所以上面安装了Percona-Server-shared-56安装包。不过需要特别配置软链接,设置如下:

2、下载SQLAdvisior安装包

3、解压

4、编译依赖项sqlparser

注意

  • DCMAKE_INSTALL_PREFIX为sqlparser库文件和头文件的安装目录,其中lib目录包含库文件libsqlparser.so,include目录包含所需的所有头文件。
  • DCMAKE_INSTALL_PREFIX值尽量不要修改,后面安装依赖这个目录。

5、安装SQLAdvisor源码

之后在当前目录下生成可执行文件sqladvisor。
为了方便直接执行该命令,你可以在环境变量加上命令的路径。我这里是拷贝到了MySQL命令路径/usr/local/mysql/bin/下。

二、SQLAdvisor的使用

1、查看帮助

2、命令行直接执行sqladvisor

2.1 单表查询

该SQL无需优化,所以sqladvisor没有给出SQL建议

2.2 多表关联查询

注意最后给出了SQL优化建议

3、参数封装在配置文件执行sqladvisor

3.1 配置文件内容:

3.2 执行sqladvisor

三、SQLAdvisor工作流程

SQLAdvisor工作总流程

SQLAdivisor工作总流程.jpg

流程详细说明,请参考https://github.com/Meituan-Dianping/SQLAdvisor/blob/master/doc/THEORY_PRACTICES.md

2 comments

发表评论

电子邮件地址不会被公开。 必填项已用*标注